⑴ c语言怎样输入两行数,存入两个数组中
实现方法:
自定义按行读入数组的函数 int reada( int *a, int max)
先读一个数到数组
再读一个字符,
判断是否回车符,是则结束读入,否则,下一步
判断读到的个数是否达到max,达到则结束读入,否则循环到a
循环结束后,清除缓存中的数据
返回读到的整数个数
定义两个数组
调用该函数reada去分别读取两个数组
参考代码:
#include<stdio.h>
intreada(int*a,intmax)
{
charch=0;
inti;
for(i=0;i<max;i++)
{
scanf("%d",&a[i]);
ch=getchar();
if(ch==' '){
i++;
break;
}
}
while(ch!=' ')ch=getchar();
returni;
}
voidmain()
{
inta[5],b[5];
intm,n,i;
m=reada(a,5);
n=reada(b,5);
for(i=0;i<m;i++)
printf("%d",a[i]);
printf(" ");
for(i=0;i<n;i++)
printf("%d",b[i]);
}
⑵ c语言,如何实现第一行输入整数n,第二行输入n个整数,并将其赋值给一个数组
第一行输入一个整数,很容易操作,直接scanf即可。
但是在第二行输入n个整数,并且赋值给一个整数数组,则不能直接实现,只能先把第二行输入的所有的数存入字符串,然后根据第一行输入的数,使用一个循环把字符串解析,然后挨个向整数数组赋值。
或者每输入一个整数,回车进行赋值。
⑶ c语言如何实现两行输入
如果要 ,那么得输入两个回车。如果没有 ,输入一次之后第二个没输入就结束。
#include<stdio.h>
int main()
{
char c1,c2;
printf("Is the first numberan int (y/n)? ");
scanf("%c",&c1);
printf("Is the second number int (y/n)? ");
scanf("%c",&c2);
scanf("%c",&c2);
}
因为scanf把输入的回车也输入了一次,所以中间再读一下,把回车读掉。
(3)c语言如何输入第二行扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
⑷ C语言里怎么设置两行输入
char username[50], password[50];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
⑸ C语言编程,运算结果无法输入第二行数据,该怎么解决
测试结果:
Inputnameandscores:
abc80
efg90
hij100
#100
Enteraname:efg
name:efgmath:90
Enteraname:abc
name:abcmath:80
Enteraname:hij
name:hijmath:100
Enteraname:ok
Notbeenfound!#include<stdio.h>
#include<string.h>
#defineMAX101
structstudent
{
charname[11];
intmath;
};
//在这里增加函数的声明
voidreading(structstudent*a,int*n);
voidsearch(structstudent*b,char*x,intn);
voidmain()
{
structstudents[MAX];
intj,num;
charname[11];
reading(s,&num);
getchar();
for(j=1;j<5;j++)//一共查找4次
{
printf("Enteraname:");
gets(name);
search(s,name,num);
}
}
//原代码reading(structstudent*a,int*n)
voidreading(structstudent*a,int*n)
{
inti=1;
printf("Inputnameandscores: ");
scanf("%s%d",a[i].name,&a[i].math);
//原代码while(strcmp(a[i].name,"#"));//while()末尾多了一个分号(;)
while(strcmp(a[i].name,"#"))
{
i++;
scanf("%s%d",a[i].name,&a[i].math);
}
*n=--i;
}
//原代码search(structstudent*b,char*x,intn)
voidsearch(structstudent*b,char*x,intn)
{
inti;
strcpy(b[0].name,x);
i=n;
while(strcmp(b[i].name,b[0].name))
i--;
if(i!=0)
printf("name:%smath:%d ",b[i].name,b[i].math);
else
printf("Notbeenfound! ");
}
⑹ C语言)写程序的时候,如果一行写不下了,怎么在第二行接着写
程序里一定不能出现其它可见字符。只有换行符,空格,tab空格可以忽略。也就是说你连着打了N个回车,跟没打一样。程序自动跳过换行找下一个字符。 追问: 我的C程序书上原文是这样的:“C程序的一个语句可利用续行标志书写在若干行上。” 回答: c语言的续行符是一个宏定义的,也即人工定义的。 \ 一个反斜杠。但是有个规定就是,\后边必须立即跟回车符。还有其它字符是通不过的。 这个符号作用就是一种提示作用,让人看的。机器跟据宏定义会将其忽略,实质上仍然只剩下换行符了。这样说你明白了没有。你看到\就知道后边应该还有内容而不是忘了写;分号了。
⑺ c语言中输入两行数据,怎么写
#include<stdio.h>
#include<malloc.h>
intmain()
{
inti,n,*p;
scanf("%d",&n);
p=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%4d",&p[i]);
}
printf("您输入的数据有: ");
for(i=0;i<n;i++)
{
printf("%-4d",p[i]);
}
printf(" ");
return0;
}
⑻ c语言如何换行输入
比如,你要输入以下内容:
215161
1515
15515
那么输入的程序的就是:
scanf("%d %d %d",&a,&b,&c);
这样子的话第一行的数值就赋值给a,第二行的数值就赋值给b,第三行的数值就赋值给c
。若是输入单个字符或者是字符串的话也是一样的道理。用" "来换行。但是最后一个输入数据后面不能加上 。
⑼ C语言中 如何实现换行输入
这种语言没有见过.用getch()来实现吧,跟据输入内容判断是否回显就OK了.
⑽ C语言中在第一行输入某式子,再想转到第二行输入某式子, scanf()该怎么编
scanf输入时,只要没有达到你规定的数量,你换行没事的。比如说scanf("%d%d",&m,&n);
输入时,输入第一个数字之后,你可以按空格键,也可以按enter键