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語言運行時怎麼分兩行輸入一按回車換行就直接運行了
其實非常簡單,你在讀入的時候使用scanf("%d\n%d", &a, &b)讀入兩個數時加一個「\n」
⑶ C語言中輸入數據有2行,第一行為n,第二行是n個整數。
格式化輸入數據使用stdio.h中提供的scanf函數就可以。原型:
intscanf(constchar*format,...);
scanf() 是從標准輸入流stdio (標准輸入設備,一般是鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
對於這n個整數,如果規模比較大的話,可以使用malloc申請堆空間來存儲。malloc函數在stdlib.h中聲明,它只有一個參數:要申請的空間大小,申請成功返回指向這塊空間的指針,失敗返回NULL。
代碼如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intn,i;
int*arr;
scanf("%d",&n);
arr=malloc(sizeof(int)*n);
for(i=0;i<n;i++)
scanf("%d",arr+i);
free(arr);
return0;
}
⑷ 如何輸入兩行數字,用C語言,請會的大師幫幫忙!謝謝!
/*說明:$代表回車
不知道你們老師是不是這樣要求
我的這個程序有點問題的,如果這么輸入
1#4#9#16#9#7#4#9#11$
11#7#9#16#4#1$
是沒有問題的
但是如果這樣輸入(你的樣例輸入就是這樣)
1#4#9#16#9#7#4#9#11#$
11#7#9#16#4#1#$
我的程序就出錯了
如果真的是上面那樣,就要用gets()讀取一行,再提取行中數組,
具體方法請看我寫的另一個程序
http://..com/question/7641809.html
*/
#include <stdio.h>
int main()
{
int a[100],b[100]={0},length=0,i,cur,have=0;
char symbol=' ';
while(1)
{
scanf("%d",&a[length]);
for(i=0;i<length;++i)if(a[i]==a[length])
{
--length;
break;
}
++length;
symbol=getchar();
if(symbol=='\n') break;
}
while(1)
{
scanf("%d",&cur);
for(i=0;i<length;++i) if(cur==a[i]) b[i]=1;
symbol=getchar();
if(symbol=='\n') break;
}
for(i=0;i<length;++i) if(b[i]) have=1,printf("%d ",a[i]);
if(have==0) printf("No Answer");
printf("\n");
return 0;
}
⑸ 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語言里怎麼設置兩行輸入
char username[50], password[50];
printf("請輸入用戶名:");
scanf("%s", username);
printf("請輸入密碼:");
scanf("%s", password);
⑺ c語言 輸入多行數據
#include <iostream>
#include <list>
using namespace std;
int main()
{
int a,b;
list<int> l;
while (scanf("%d%d",&a,&b)!=EOF)
{
l.push_back(a+b);
}
while (!l.empty())
{
cout<<l.front()<<endl;
l.pop_front();
}
}
需要用到list保存結果,因為n未知大小所以用list更合適。
如果是想以比較方便的方式輸入數據,可以考慮把多行的數據存在文本文件中,每次使用這些數據的時候,可以直接從這個文件裡面讀取。
如果編譯後生成的可執行文件名為a.exe,存放數據的文件為b.txt(和a.exe放在同一文件夾下),則再控制台(命令行提示符狀態)輸入: a < b.txt 即可。 其中的小於號<,就是輸入重定向符號。
(7)c語言輸入兩行擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
⑻ c語言中輸入兩行怎麼表示
兩次gets即可.
charbuf[1024]="";
gets(buf);
buf[strlen(buf)]=' ';
gets(buf+strlen(buf));
buf[strlen(buf)]=' ';
將兩個換行也還原回去了.
⑼ 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把輸入的回車也輸入了一次,所以中間再讀一下,把回車讀掉。
(9)c語言輸入兩行擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
⑽ c語言編程:怎樣輸入兩行文字,取每一行的最後一個文字輸出
#include<stdio.h> int main(void) { int n, i=1, j, a; char c; printf("Please input: "); scanf("%c,%d",&c,&n); for(i=1;i<n;i++) { for(a=1;a<=n-i-1;a++) { printf(" "); } for(j=1;j<=2*i-1;j++) { printf("%c",c); } printf("\n"); } if(i==n) { for(j=1;j<=n-2;j++) { printf(" "); } printf("%c\n",c); } }