1 第一个输入为数组长度。 比如输入 3 12 45 87 2 以特定输入为结束标记, 比如 以0,-1或者EOF作为结束标记。或者整行输入,以换行符为结束标记。一般来说,在自动判题系统中,以EOF为结束, 或先输入长度, 是最为常见的两种方式。
如题,所以我就试了一下,结果是这样的: 结果看起来没有什么错误,但是我把这个数组的长度用一个int变量来表示: 就出现了错误,但是我只是定义一个int变量表示数组的长度啊,怎么会出现这样的错误?就算有错也应该是数组长度的错误啊,怎么字符数组的内容出现了错误,有点搞不懂。 然后我就想,把字符数组的长度定义一下...
首先用gets()取得字符串,然后用strcpy()函数进行赋值。我的编译器没有VLA的功能,所以我定义了4行,有这个功能的话把4改成n就可以 include<stdio.h> include<string.h> int main(void){ int i;char string[4][100];char str[100];for(i=0;i<4;i++){ gets(str);strcpy(string[i],st...
void main(){ int s[10];int x =10;printf("你需要输入10组数据\n");for (int i = 0; i < 10; i++){ printf("输入第%d个数据:",i+1);scanf("%d",&s[i]);for (int j = 0; j < i; j++){ if (s[i]==s[j])//检测新输入的数据是否与之前的重复 { x--;//有...
先说明一点,你举的例子中,不是输出998,而是输出下标3。main(){ int a[5],b,i;for(i=0;i<5;i++)scanf("%d",&a[i]);scanf("%d",&b);for(i=0;i<5;i++)if(a[i]==b)break;if(i<5)printf("%d",i);else printf("No");} ...
/ include <stdio.h>void DelNum(char s[],char ch) {int i,j;for(i = 0; s[i]; ++i) {if(s[i] == ch) {for(j = i; s[j]; ++j)s[j] = s[j + 1];--i;}}}int main(void) {char c,s[] = "asshgeytwg45098863hdh11";printf("删除数字字符前:%s\n",s);...
你输入的不到20,在字符串最后是有个字符串结束标记的,结束标记到数组的第19个元素之间就是空着的,你可以用来干干事情,但是不建议这样做
include <bits/stdc++.h>using namespace std; int a[11]; int main(){ int minpo=1; for (int i=1;i<=10;i++){ scanf("%d",&a[i]); if (a[i]