一道C语言改错题

作者&投稿:党怀 (若有异议请与网页底部的电邮联系)
一道c语言改错题~

#include
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=2*i-1;j++)//这里改了
printf("%c",'A'+i-1);
printf("
");
}
k=ch-'A';
for (i=k;i>=1;i--)
{
for (j=20;j>=i;j--)//这里改了
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("
");
}
}

程序作用:
输入一段密码,按第i个字母变成第(26-i+1)个字母的规则转换成原文

源代码:(正确)
#include
int main()
{
char a[100],b[100]="";
int i;
printf("请输入一段密码:
");
gets(a);
for(i=0;i<strlen(a);i++)
{
if(a[i]>='A'&&a[i]<='Z')b[i]=155-a[i];
if(a[i]>='a'&&a[i]<='z')b[i]=219-a[i];
}
printf("


");
printf("密码为:
");
puts(a);
printf("原文为:
");
puts(b);
return 0;
}
不懂的欢迎继续提问。*^_^*

既然只有10个评委为什么for循环循环100次改为for(i=1;i<=10;i++)另外你的数据最好定义为浮点型,要不然容易出现不理想的情况。。

10个评委,for(i=1;i<100;i++) 要改成 for(i=1;i<=10;i++)
scanf("%d",integer);要改成scanf("%d",&integer); (不能用变量,要用变量的地址)
(sum-max-min)/8 是整除,会丢掉小数部分。如果要保留小数可改为printf("Average score:%f\n",(sum-max-min)/8.0);}

for(i=1;i<100;i++)
这里是10不是100
if(integer>max)max=integer;
if(integer<min)min=integer;
这里都可以使用<= 或者>=来减少出错的可能性~
scanf("%d",&integer);需要取地址才可以哦

printf("Average score:%d\n",(sum-max-min)/8);}

建议使用double类型打印~而不是整型打印~

把for循环里面改成
for(i=0;i<10;i++)应该就可以了

改成:for(i=1;i<=10;i++)
你是10个评委,不是99个评委。
scanf("%d",&integer);


初学者C语言程序改错题
首先我指出你书写的一个错误。switch(c-'2')下面那行的(应该改成{ 因为{是与default:putchar(c+2);下面出现的}进行配对的。依次输入2473得到输出668977,只需修改一处地方。在case 2:putchar(c+4);后面加上 break;分析如下:使用getchar输入,每次只能识别一个字符,而又使用了while循环,输入2473...

C语言编程改错
include <stdio.h>#include <math.h>#include "math.h"float fun(int n){int i = 0, sum = 0;float s = 2.0f;for (i = 1; i <= n; i++){sum = sum + i;if (sum == 1) continue;printf("( 1 + .. %d ) + 1 = %d\\n", i, sum + 1);s = s \/ (sum +...

C语言改错题怎么做?
解析:设置p,q两个标志,用于确定结点位置。while中的条件为p不空(即p没有到链表末尾)和p所指的结点数据不等于data,若两个条件都满足,p向下一个结点移动,q取代p原来的位置;若前一个条件满足,后一个条件不满足(即p所指的结点数据等于data),则跳出循环,此时p指向满足条件的结点,显然p不为...

C语言程序改错?
这个程序有4个错误,我都加粗了,第一个是m没有赋初值,第二个是while表达式中的ch=getchar()需要括号括起来,第三个是m=m*10+ch-0中的0也需要用单引号括起来,第四个是第2个while中为m!=0。修改完的程序如下:include <stdio.h>int main(){char ch;long m=0, n, nx = 0;while (...

小白发问,这个C语言改错该如何做?求大佬指教啊
出错行号:第12行 原因:未定义temp变量 出错行号:第十行 原因:冒泡排序法应用错误 正确代码 include <stdio.h> int main(){ int a[10]={21,43,55,12,65,87,25,93,30,62};int i,k,*pa;int temp;for (k=0;k<10;k++)printf("%3d",a[k]);printf("\\n\\n");for (k=0;...

c语言改错题,输入5个数,然后输出,请教这题怎么改?为什么?
include<stdio.h> void InputArray(int *pa,int n);void OutputArray(int *pa,int n);int main(){ int a[5];printf("Input five numbers:");InputArray(a,5);OutputArray(a,5);return 0;} void InputArray(int *pa,int n){ int i=0;for(*(pa+i);i<n;i++){ scanf("%d",(...

c语言改错 输入10个数功能:输入10个数,要求输出这10个数的平均值_百度...
3、使用for循环语句来对10个数值的循环计算。累加在sum语句中。4、循环语句中进行10个数的累加在sum里面,然后在循环语句外使用(average=sum\/10)来计算10个学生的平均成绩。5、按照题目的要求编写完源代码之后,点击“运行”。6、弹出输入页面之后,在输出页面输入10个整数值,然后点击回车键,计算机...

帮我编个简单的C语言程序(改错)
1要改成1.0,180要改成180.0,不然算出来的是0.000000,注意是否是相同类型的数

C语言求改错
一、denominator=denominator+3 (- -||| 这也太粗心了吧)二、错在判断while()上,当item为负数,如-1\/4时就退出循环了。可以考虑加个if判断 while(1.0*item>=eps){ item=flag*1.0\/denominator;flag=-flag;s=s+item;denominator=denominator+3;if(item<0) \/\/加这两句,相当于把负数变...

c语言改错,题目是要从键盘输入4个整数存入数组,调用函数int min(int...
你这个代码错误好多 int x[3],i,P,*q;\/\/你要输入4个数,但数组却只申请了3个应该改为int x[4]q=x[3];\/\/你的指针之前没有初始化,这里却引用指针指向的地址,运行会出错,改为q = x;P=min(*q);\/\/min函数的参数是指针类型,这里却把int类型传给了函数,改为P=min(q);b=0;\/\/...

新巴尔虎右旗18561577705: C语言改错题目 -
少炒悦而:[答案] float fun(float a, float b, float c) {\x09float value; // \x09return value; }

新巴尔虎右旗18561577705: 求解一道C语言改错题 -
少炒悦而: 1、关于 for(i; i<=s1; i++) 一般来说只有初始化了变量,在for循环中的初始化语句可以省掉,但是就整个源码,并没有初始化i,所以程序执行会有问题的.2、因为sl是元素的个数,已经去掉NULL空字符,比如“test",用strlen()的结果是4,不会是5的,空字符在strlen()中用于一个标志,不计数的.

新巴尔虎右旗18561577705: c语言的一个简单改错题!!
少炒悦而: main() {int a,b,c,i; a=0;b=1; printf("%d%d",a,b); for(i=1;i<=40;i++) {c=a+b; a=b; b=c; prinft("%d",c); } }

新巴尔虎右旗18561577705: 一道C语言改错题,帮下忙 -
少炒悦而: 1 main()// main前面要有返回值 int ,或void6 for(i=1;i 改为for(i=1;i

新巴尔虎右旗18561577705: c语言改错题 -
少炒悦而: #include/******found******/ void Fun(char *a) { if (*a) { Fun(a+1); /******found******/ printf("%c",*a); } } void main() { char s[10]="abcd"; printf("处理前字符串=%s/n处理后字符串=",s); Fun (s); printf("\n"); } 改好了,有用了,能编译

新巴尔虎右旗18561577705: 一道程序 改错题!C语言
少炒悦而: 你的题意表达不清楚? 意思是把字符串反过来吗 如果是引用类型则不会这样. 是值类型就可以. 是string 不可以 是stringbuffer则可以

新巴尔虎右旗18561577705: 一道简单的C语言问题纠错 -
少炒悦而: 给你修改好了 # include void main() { int gbs(int,int); i...

新巴尔虎右旗18561577705: C语言改错题
少炒悦而: main(){int a,b,c,t; Scanf(“%d%d%d”,&a,&b,&c); /*$ERROR$*//*C语言是大小写敏感的,所以Scanf和scanf不是同一个函数,应该改成scanf*/if(a<b) {t=a;a=b;b=t;} /*这个if结束a大,b小*/if(b<c) {t=b;b=c;c=t;} /*这个if结束b大,c小*/ if(a>b) {t=...

新巴尔虎右旗18561577705: C语言高手请进 一道简单的改错题
少炒悦而: /*********Found************/int FindMaxScore(struct Student *stu,int n){ int i, max, k=0; max = stu[k].Score;for (i=1; i&lt;n; i++) { /*********Found************/ if (max&lt;stu[k].Score){ k = i; max = stu[k].Score; } } return k;}

新巴尔虎右旗18561577705: C语言一道改错题.将十进制正整数m转换成k(2<=k<=9)进制数,并按高位到低位输出.急! -
少炒悦而: aa[i] = m/k改成aa[i] = m % k;,并且下面的输出语句也改下,代码如下:#include #include <st...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网