在线答题有悬赏,c语言编程问题
发布网友
发布时间:2022-05-07 02:09
我来回答
共3个回答
热心网友
时间:2023-10-11 23:39
三段程序都在 VS2010 编译通过
先集中说下问题
1. LZ 很多符号用的中文版本的标点符号,编译认不出来,所以出现很多怪提示。写代码的时候一定要关闭中文输入法
2. scanf() 中提供的应该是变量的地址 &a 而不是 a 本身,这和 printf 不同
3. 在写 if 判断是很容易用 = 表示“等于”判断,这样会出很多怪问题。“'A'==ch” 把变量写在 == 的右边,养成这样的习惯,有助于避免出错
4. 写复杂的算术表达式时,勤加()可以避免优先级混乱的问题,注意不同类型变量计算结果的转换,int 到 float 之类的转换常常丢失结果精度
======= 第一段程序 ========
#include <stdio.h>
int main()
{
char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')&&(ch<='z')) // 这里应该用 &&
ch-=32;
c1=ch-1;
c2=ch+1;
if('A'==ch) c1=ch+25; // =是赋值,应用该 ==
if('Z'==ch) c2=ch-25; // 同上
putchar(c1);
putchar(ch);
putchar(c2);
putchar('\n');
return 0;
}
VS 2008 编译通过
Enter a character:g
FGH
请按任意键继续. . .
Enter a character:a
ZAB
请按任意键继续. . .
Enter a character:M
LMN
请按任意键继续. . .
Enter a character:Z
YZA
请按任意键继续. . .
======= 第二段程序 ========
#include <stdio.h>
// 发现LZ用的分号和逗号‘;,’都是中文的符号,应该关闭中文输入法用英文的分号和逗号‘;,’
int main()
{
float c,f = 0;
printf("请输入一个华氏温度:\n");
// scanf() 编译提示函数已不安全,使用scanf_s()代替
// 最关键的, 这里要提供变量 f 的地址 &f,而不是 f 本身
scanf_s("%f",&f);
// 这里 5/9 会导致结果 * 运算的结果转换成 int
c=(5.0/9.0)*(f-32);
printf("摄氏温度为:%5.2f\n",c); // 这里少了一个分隔的‘,’
return 0;
}
// 发现LZ用的分号和逗号‘;,’都是中文的符号,应该关闭中文输入法用英文的分号和逗号‘;,’
======= 第三段程序 ========
#include <stdio.h>
int main()
// LZ 的 {} 又用的中文版本 ……
{
int a,b; // 为了保证精度,建议a , b 最好定义为和结果 f 一样的类型
float x;
// 和上面同样的问题,使用 scanf() 的安全版本 scanf_s()
// 和上面同样的问题,应该是地址 &a,&b,而不是变量本身
scanf_s("%d,%d",&a,&b);
printf("a=%d\n",a);
printf("b=%d\n",b);
// 少了两个运算符 *
// + 号用的中文版本,编译器无法识别
// 由于 计算式返回 int 型结果,所以编译器提示可能需要类型转换,但是不影响使用结果可以编译通过
// 由于 a,b 都是 int 所以左边计算结果会被截掉小数部分,导致精度的丢失
// 所以必须对最后的‘/’加一个强制类型转化 (float) 或者 将 2 改成 2.0
/* 可以这么改 x = (float)(2*a*b)/((a+b)*(a+b)); */
x = (2.0*a*b)/((a+b)*(a+b));
//‘\’ 使用的中文版本, “\n” 会直接输出
// x 是 float 类型,应该使用 %f 格式控制符输出
printf("x=%5.2f",x);
return 0;
}
追问没看懂,能给个清楚点的吗具体说哪里需要填,写写
热心网友
时间:2023-10-11 23:39
j=i
a[j-1]=a[j]
a[i]
我晕了,程序中从上到下依次有三行******SPACE****,在这下面的语句中的【?】,
依次填上我给的答案就可以了,注意把【?】删除掉,然后在删除的地方填上,不要多删除其他的文字啊,【?】光标放到后面,按backspace键三次,然后把内容输入到光标所在的地方,从上到下三个答案对方三个【?】,然后保存,编译运行,就OK了
热心网友
时间:2023-10-11 23:40
什么叫c语言?