4个简单的C语言小题目2

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:35:45
1.设有变量定义如下:
int n,j,k,s;
请指出语句
for(s=n=j=0;j<6;++j)
for(k=j-2;k<j+2;++k){
if(k<0)break;
s+=k; n++;
}
执行完成后,变量s和n的值分别是什么?
2.设有变量定义如下:
int d[64],j,flag;
写一个程序段,判断数组d中的所有64个数据是否全部是正数,若是,置flag为1,否则置flag为0。
3.写一个程序完成下面的处理:
从键盘接收使用者输入的至多1024个整数(当使用者输入0时,表示输入结束,0不作为输入数据),计算并按例示的格式输出:
(1)这批数据的算术平均值(输出3位小数);
(2)每个输入数据的原值和误差(一个数据的误差=该数据的值 - 平均值, 输出3位小数)。
例如,使用者输入的3个数据是15、17、18时,程序的输出应为:
Average=16.333
Data Error
1 15 -1.333
2 17 0.667
3 18 1.667
4.设有变量定义如下:
char s[64],t[8],str[256],ch; int j,k,n;
且假定数组s和t中各已存贮了一个字符串,变量ch中存贮了一个字符的ASCII编码值。写一段程序,把字符串s中的所有字符ch置换成字符串t, 置换后产生的结果字符串存贮在数组str中。
例如,若字符数组s中的字符串是“k18:k72”, 字符数组t中的字符串是“No.”, 变量ch中存贮了小写字母k的ASCII编码值,则该程序段产生的结果字符串(存贮在数组str中)应为“No.18:No.72”。

第三题:
#include <stdlib.h>
void main()
{
int nData[1024];
int n=0,nLen=0;
int sum=0;
float Average;

do {
scanf("%d",nData+n);
if (nData[n]==0)
{
break;
}
nLen=n+1;
n++;
} while(n<1024);
for (n=0;n<nLen;n++)
{
sum=sum+nData[n];
}

Average=(float)sum/nLen;
printf("Average=%.3f\n",Average);

printf(" Data Error\n");
for (n=0;n<nLen;n++)
{
printf("%d ",n+1);
printf("%d ",nData[n]);
printf("%.3f\n",(float)nData[n]-Average);
}
}
第四题:
#include <stdlib.h>
#define ERROR -1;
int main()
{
char s[64],t[8],str[256],ch;
int j,k,n;
int nStr=0;

//++Initialize the string variable
strcpy(s,"k18:k72");
strcpy(t,"No.");