[课程知识完成C语言程序设计 N皇后问题堆栈一维数组普]#include//N皇后问题 #include#include#include#include#include#includetypedef struct { int *elem; int length; int listsize; }Sqlist; int InitList(Sqlist & L){//初...+阅读
#include "stdio.h"
#include "string.h"
void shellsort(char v[][10], int n);
void writeline(char linp[][10],int n);
main()
{
char line[][10]={"C++","Fortran","Basic","Pascal","Foxbase"};
int n=5;
shellsort(line,n);
writeline(line,n);
}
shellsort(char v[][10], int n)
{
char *temp,*t[5];
int i,j;
for(i=0;i t[i]=&v[i]; for(i=0;i for(j=n-1;j>i;j--) if(strcmp(t[j-1],t[j])>0) { temp=t[j]; t[j]=t[j-1]; t[j-1]=temp;} } writeline(char linp[][10],int n) { int i; for(i=0;i printf("%s\n",linp[i]); } 上面是修改过的程序; 关键在于 if(strcmp(v[j-1],v[j])>0) {t=v[j];v[j]=v[j-1];v[j-1]=t;} 这里面的v[j]=v[j-1];这句不对,因为这是两个地址,也是两个数组,不能赋值 我用了另外的一组指针来指向这个数组 你的函数的定义很奇怪,更奇怪这样的定义也能编译 建议象我这样定义吧,不然别人看程序很困难的. 以下为关联文档: C语言字符串数组反转相关的问题c语言的问题字符串反转可以使用下列两种方法: 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(st... C语言怎么将字符串数组元素进行逆转#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char str[80]; int i,j; char ch,*p=str; printf("输入字符串:"); gets(str); for(i=0,j=strlen(str... 用c语言编写将两个升序的数组归并成一个新的升序数组//之前写过的,你可以参考下 #include <stdio.h> int main() { int str1[5]={3,6,7,45,55};//两个升序数组 int str2[5]={8,10,11,22,25}; int out[10];//输出数组 int i=0,j=0,... c语言指针合并两个升序数组还升序#include void merge(char *dest, char *src1, char *src2) { while (*src1 & *src2) { if (*src1 { *dest++ = *src1++; } else { *dest++ = *src2++; } } while(*src1) *d... 如何用C语言编程将两个有序数组a b合并成一个数组c就以你的例子来写,可适当修改为更普遍的 算法核心代码为: int i = j = k = 0; //循环比较,将小的插入到C数组中 while ( i < 3 & j < 3) { if (a [i] < b [j]) c[k++] = a[i++]... c语言两个升序排列的数组并入第三数组仍然升序#include <stdio.h> int main(void) { int a[5] = {0,3,5,6,8};//第一个有序数组 int b[7] ={2,4,7,9,10,16,20};//第二个有序数组 int c[20];//待放入的数组 int i, j, k; i =... C语言中合并有序数组不要用C写int a[20],b[20],c[40];//全局数组 void main() { int i,n,m; scanf("%d",&n); for(i = 0; i<n ; i++) scanf("%d",&a[i]); scanf("%d",&m); for(i = 0; i<m ; i++) scanf("%d",&b[i]... C语言字符串字母大小写转换#include<stdio.h> int main() { char c; while((c=getchar())!='#') { if((c>='a'&c<='z') || (c>='A'&c<='Z')) putchar(c^0x20); else putchar(c); } return 0; }... c语言数组排序求四位数按百位由大到小排序//我只能告诉你怎么获取4位数的百位 #include<stdio.h> #include<math.h> void main() { long int a=1234; int bw; bw=(a%(int)pow(10,4-1))/(int)pow(10,4-1-1); printf("%...