#include <stdio.h> int main(void) {int k;for(k=1;k<=3;k++){ //该循环用于自动阅卷,请考生忽略 int a[10],data,i,*p,flag=0; //首先输入10个原始数组元素数据 p=a; for(i=0;i<10;i++) scanf("%d",p a[i] 2 分 ); //然后输入一个待查找的数据 scanf("%d",&data); //开始查找 p= 2 分 ; i=0; while(i<10) {if( 2 分 ) {flag=1;//表示找到了 printf("%d\n",i); break;//结束循环 } 2 分 ; } if( 1 分 )//表示没有找到 printf("查无此数!\n"); } //该循环用于自动阅卷,请考生忽略 return 0; } 5-3 在一个字符数组中查找一个指定的字符 分数 9 作者 余廷忠 单位 贵州工程应用技术学院 在一个字符数组中查找一个指定的字符,若数组中含有该字符则输出该字符在数组中第一次出现的位置(下标值)否则输出-1。 #include<stdio.h> void main() { char ch='a',cstr[50]; int inum,ii,iflag=1; gets(cstr); inum= 3 分 ; for(ii=0;ii<inum;ii++) if( 3 分 ) { iflag=0; break; } if(iflag==1) printf("%d",-1); else 3 分 ; }
时间: 2024-02-01 18:02:50 浏览: 145
这段代码是一个在字符数组中查找指定字符的程序。首先定义了一个字符变量ch和一个字符数组cstr,然后通过gets函数输入字符数组cstr。接着定义了一个整型变量inum,并将其赋值为字符数组cstr的长度。在for循环中,通过判断字符数组cstr中的每一个字符是否等于指定字符ch,找到第一次出现指定字符的位置,并将其输出。如果没有找到指定字符,则输出-1。
相关问题
#include<stdio.h> void main() {int s,k; for(s=1,k=2;k<5;k++) s+=k; printf("%d\n"s)}
这段代码有语法错误,应该是缺少了一个加号。正确的代码应该是:
```
#include<stdio.h>
void main()
{
int s,k;
for(s=1,k=2;k<5;k++)
s+=k;
printf("%d\n",s);
}
```
这段代码的作用是计算从2到4的整数之和,最后输出结果5。
程序改错 题目:以下程序求100-200之内的素数。 #include <stdio.h> #include <math.h> void sushu(int m) { int k; int i: for(i=2;i<=k;i++) if(i>=k+1) printf("%4d",m); } void main(void) { int m; for(m=101;m<=200;m++) ; }
以下是已改正的程序:
```c
#include <stdio.h>
#include <math.h>
void sushu(int m) {
int k = sqrt(m); // 计算m的平方根
int i;
for(i = 2; i <= k; i++) {
if(m % i == 0) {
return; // 如果能整除,说明不是素数,直接返回
}
}
printf("%4d", m); // 如果无法整除,说明是素数,输出
}
int main(void) {
int m;
for(m = 101; m <= 200; m++) {
sushu(m);
}
return 0;
}
```
主要修改如下:
1. 在 `sushu` 函数中,需要计算输入数 `m` 的平方根,以便后面判断是否为素数。
2. 在 `sushu` 函数中,需要在遍历过程中判断是否能被整除,如果能被整除则说明不是素数,直接返回即可。
3. 在 `main` 函数中,需要调用 `sushu` 函数,并且需要将 `void` 修改为 `int`,并且在函数末尾返回 `0`。
阅读全文