C语言,求修改代码
#includestdio.h
#includemath.h
int main() {
int i, x, a[1000], b, leap = 1, j = 0, y, z;
printf(“请输入一个大于6的偶数”);
scanf(“%d”, x);
for (i = 6; i = x; i++) {
leap = 1; //每次循环前需设置为1,否则找到一个和数之后就全是和数了
for (b = 2; b = sqrt(i); b++) {
if (i % b == 0) {
leap = 0;
break;
}
if (leap)
a[j++] = i;
}
}
for (y = 0; y j; y++)
for (z = 0; z j; z++) {
if (a[y] + a[z] == x)
printf(“%d=%d+%d\n”, x, a[y], a[z]); //下标错误
}
return 0;
}
都是粗心造成的小错误。
C语言程序代码修改
assign函数里面,strtofind的生成有问题,这里生成以后,应该加判断,从开头到现在是不是已经有这么一个字串了,若有的话,就肯定已经找过它一遍了。
建议做一个类似find的函数,如果前面出现过这个字串就返回0,继续生成下一个strtofind,前面没出现过的话,就返回1,就按照你现在的流程继续。
能写成这样的程序,再加这么个判断,对你来说是小菜菜了。。
c语言 修改简单代码
你那个a[k],当k=i时有一个值,当比i大的时候已经没有值了。。
用数组???其实不用数组啊,直接把你程序中所有的a[k]改成k就行了。。
如果要用数组,你为什么j不用数组呢??哈哈。。只要有一个数组就行了吧。。。
我觉得,如果要用数组解决,那必须三个数都是数组,就是i,j,k都必须数组。。
答案是48种可能,三个数字可交换位置?如果是,就是下面的程序哦,纯数组。。
main(){
int a[9],i,j,k,s=0;
for(i=0;i9;i++)
a[i]=i+1;
for(i=0;i9;i++)
for(j=0;j9;j++)
for(k=0;k9;k++)
{
if(i==j||j==k||i==k)
continue;
else
{
if(a[i]+a[j]+a[k]==15)
{
printf(“%d+%d+%d=15\t”,a[i],a[j],a[k]);
s++;
}
}
}
printf(“\n总共有%d种可能”,s);
getch();
}
如果交换位置也算一种的话,那答案就是8种了。。就是下面程序,其实也差不多,就是j必须比i大,k必须比j大,就是取过的数不能取咯。。
main()
{
int a[9],i,j,k,s=0;
for(i=0;i9;i++)
a[i]=i+1;
for(i=0;i9;i++)
for(j=i+1;j9;j++)
for(k=j+1;k9;k++)
{
if(i==j||j==k||i==k)
continue;
else
{
if(a[i]+a[j]+a[k]==15)
{
printf(“%d+%d+%d=15\t”,a[i],a[j],a[k]);
s++;
}
}
}
printf(“\n总共有%d种可能”,s);
getch();
}
求助修改C语言代码
void sort(int num[], char name[N][8])
{
int i, j, max, templ;
char temp2[8];
for (i = 0; i N – 1; i++)
{
max = i;
for (j = i; j N; j++)
if (num[max] num[j]) max = j;
templ = num[i];
strcpy_s(temp2, name[i]);
num[i] = num[max];
strcpy_s(name[i], name[max]);
num[max] = templ;
strcpy_s(name[max], temp2);
}
printf(“\n result:\n”);
for (i = 0; i N; i++)
printf(“\n %5d%10s”, num[i], name[i]);
}
====
请采纳,谢谢
C语言一段代码修改.
给字符串str赋初值时可以用大括号的方法,但程序段里面不能这么办。
其实那个字符串是不必要的。如下是我所改:
#includestdio.h
void main()
{
char chr[4]={‘a’,’b’,’c’,’d’};
int i,j,k;
for(i=0;i4;i++)
for(j=0;j4;j++)
for(k=0;k4;k++)
if(i!=j j!=k k!=i)
printf(“haha is %c%c%c\n”,chr[i],chr[j],chr[k]);
getchar();
}
c语言程序代码修改。
#includestdio.h
#includestring.h
int main()
{
void px(char str[][6]);
char str[10][6];
int i;
printf(“请输入十个等长(五个字符)的句子:\n”);
for (i=0;i10;i++)
{
scanf(“%s”,str[i]);
}
printf(“\n”);
px(str);
return 0;
}
//令十个句子按从小到大的顺序排序
void px(char str[][6])
{
int i,j;
char t[6];
for(i=0;i9;i++)
{
for(j=0;j9-i;j++)
{
if(strcmp(str[j],str[j+1])0)
{
strcpy(t,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],t);
}
}
}
for(i=0;i10;i++)
{
printf(“%s\n”,str[i]);
}
}