1. c語言,從鍵盤輸入數字,顯示輸出結果
代碼功能也改好了,有功能方面的問題,再提問吧
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inty,i,j,o,n,a[2][7];
charx[7][13]={{"學生學號"},{"語文成績"},{"數學成績"},{"英語成績"},{"物理成績"},{"化學成績"}};
do
{
printf("主菜單
=====================
1.輸入功能
2.按學號查找
3.列印輸出
0.退出
=====================
請選擇(0-3)
");
scanf("%d",&y);
switch(y)
{
case1:printf("請輸入
");
for(o=0;o<2;o++)
for(i=0;i<6;i++)
{
printf("該學生的%s為:",x[i]);
scanf("%d",&a[o][i]);
}
break;
case2:printf("請輸入查找學生學號:");scanf("%d",&n);//就這里,輸入完之後,後面的語句就不執行了
for(o=0;o<2;o++)
{
if(n==a[o][0])
{
printf("他的分數是:
");
printf("學號%d,語文%d,數學%d,英語%d,物理%d
",a[o][0],a[o][1],a[o][2],a[o][3],a[o][4],a[o][5]);
}
}
break;
case3:printf("正在輸出
");break;
case0:printf("謝謝使用
");break;
default:printf("輸入錯誤,請重新輸入
");
}
}
while(y>0);
}
2. C語言 輸入一個字母,輸出與之對應的ASCII碼,輸入輸出都要有與之對應的文字提示
任務代碼為:
#include<stdio.h>
main()
{
char w;
printf("請輸入一個字母:");
scanf("%c",&w);
printf("與這個字母對應的ASCII碼是:%d
",w);
}
英文字母是字元型,ASCII碼十進制的,因此只需要將字元型轉換為十進制,在輸出函數的時候強制轉換類型。
(2)c語言輸入輸出提示信息擴展閱讀:
ASCII 碼使用指定的7 位或8 位二進制數組合來表示128 或256 種可能的字元。標准ASCII 碼也叫基礎ASCII碼,使用7 位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。其中:
0~31及127(共33個)是控制字元或通信專用字元(其餘為可顯示字元),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;通信專用字元:SOH(文頭)、EOT(文尾)、ACK(確認)等;
ASCII值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。
32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。
65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算符號等。
同時還要注意,在標准ASCII中,其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。
奇校驗規定:正確的代碼一個位元組中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的代碼一個位元組中1的個數必須是偶數,若非偶數,則在最高位b7添1。
後128個稱為擴展ASCII碼。許多基於x86的系統都支持使用擴展(或「高」)ASCII。擴展ASCII 碼允許將每個字元的第8 位用於確定附加的128 個特殊符號字元、外來語字母和圖形符號。
3. c語言是通過什麼來輸入輸出的
C語言是通過printf()函數和scanf()函數來進行輸入和輸出。
printf()格式化輸出函數,C語言標准庫函數,在 stdio.h 中定義。一般用於向標准輸出設備按規定格式輸出信息。printf()函數的調用格式為:printf("<格式化字元串>", <參量表>)。輸出的字元串除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
scanf()格式化輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。scanf()函數的調用格式為:scanf("<格式說明符>", <參量表>)。按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。
(3)c語言輸入輸出提示信息擴展閱讀:
printf("<格式化字元串>", <參量表>);
格式化字元串包含三種對象,分別為:
(1)字元串常量;
(2)格式控制字元串;
(3)轉義字元。
字元串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字元串和各輸出項在數量和類型上應該一一對應。其中格式控制字元串是以%開頭的字元串,在%後面跟有各種格式控制符,以說明輸出數據的類型、寬度、精度等。
4. 在線等!c語言:輸入字母輸出她前面或後面的字母
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"Input:";
char ch;
cin>>ch;
if( ch < 'A' || ch > 'Z')
{
cout<<"Input is error!"<<endl;
}
else if( ch == 'A')
{
cout<<"沒有前面的字母"<<endl;
}
else if( ch == 'Z')
{
cout<<"沒有後面的字母"<<endl;
}
else
{
cout<<(char)(ch-1)<<" "<<(char)(ch+1)<<endl;
}
return 0;
}
可以運行,希望對你有所幫助!
5. C語言怎麼輸入字元串,輸出顯示內容
你的這些文字放到文件中,自己調整好段落,你這看不出來分成幾行了啊!
打開文件讀:FILE *fp=fopen("file.txt","r");
定義一個字元串,char str[100];
輸入你想查找的串:scanf("%s", str );
再定義一個字元串,用來讀取文件中的一行,char line[1024];//定義大一點保證讀一行
while( fgets(line,sizeof(line),fp))
{
if ( strstr( line,str ) )
printf("%s", line );
}
關閉文件
fclose(fp);
自己組織一下代碼吧
6. C語言分數在90分到98分之間。從鍵盤上輸入這10名學生的成績,凡是輸入的成績不滿足要求的,輸出提示信息
#include<stdio.h>
int main()
{
int k=1,n;
int min=98,max=0;
while(1)
{
scanf("%d",&n);
if(n<90||n>98)
{
printf("輸入的分數無效,請重新輸入成績 ");
}
else
{
printf("輸入正確 ");
if(n>max)
max=n;
if(n<min)
min=n;
k++;
}
if(k==10)
{
printf("min=%d max=%d",min,max);
break;
}
}
return 0;
}
7. C語言:編程實現輸入,輸出
方法很多,我用數組實現。
定義20大小數組,下標加1就是1~20的數字,數組元素值就是輸入狀態。
#include<stdio.h>
#include<windows.h>
#include<conio.h>
void show(int *nums);
int main()
{
int nums[20]={0};//表示1到20個數字的狀態,0表示未被輸入,1表示已被輸入
int save[19],*p=save,n=19,in=0,flag;
while(n--)
{
flag=1;
system("cls");
show(nums);
printf("請輸入一個數字(1~20):"),scanf("%d",&in);
while(in<1 || in>20 || nums[in-1]==1)
{
if(in<1 || in>20)
printf("輸入錯誤!只能輸入1~20的整數!...按任意鍵重新輸入... "),getch();
else if(nums[in-1]==1)
printf("輸入錯誤!數字%d已輸入,不能重復!...按任意鍵重新輸入... ",in),getch();
flag=0;
n++;
break;
}
if(flag)
*p=in,nums[in-1]=1;
}
return 0;
}
void show(int *nums)
{
int i;
printf("已輸入數字:");
for(i=0;i<20;i++)
if(nums[i])
printf("%d ",i+1);
printf(" 未輸入數字:");
for(i=0;i<20;i++)
if(!nums[i])
printf("%d ",i+1);
printf(" ");
}
8. C語言 從鍵盤輸入時間,輸出對應提示:
#include<stdio.h>
#include<string.h>
intmain()
{
charstime[20];
scanf("%s",stime);
if(strcmp(stime,"11:00")<=0)
printf("上午好!現在是%s",stime);
elseif(strcmp(stime,"13:00")<=0)
printf("中午好!現在是%s",stime);
elseif(strcmp(stime,"18:00")<=0)
printf("下午好!現在是%s",stime);
elseif(strcmp(stime,"24:00")<=0)
printf("晚上好!現在是%s",stime);
elseif(strcmp(stime,"5:00")<=0)
printf("凌晨好!現在是%s",stime);
elseif(strcmp(stime,"8:00")<=0)
printf("早上好!現在是%s",stime);
else
printf("TimeError");
getch();
}
string.h頭文件涉及過嗎?這是用庫函數直接比較算的,測試結果如下:
不清楚的話參考一下網路文庫:http://wenku..com/link?url=-mufAuOdBUdOoKlvrGtO_5dgh-IFWJRMFpN9Jlv7aTQ5D2Ip0jTSqcm
9. C語言輸入輸出語句
c語言輸入輸出函數
C語言輸入輸出函數有很多,標准
I/O
函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf
等.
int scanf(const char *format, arg_list)
scanf
主要從標准輸入流中獲取參數值,format為指定的參數格式及參數類型,如
scanf("%s,%d",str,icount);
它要求在標准輸入流中輸入類似"son of bitch,1000"這樣的字元串,同時程序會將"son of bitch"給str,1000給icount. scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過語句
if(scanf("%s,%d",str,icount) != 2){...}
來判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf
主要是將格式化字元串輸出到標准輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout. arg_list可以是變數名,也可以是表達式,但最終都會以值的形式填充進
format中. int getc(FILE *fp) getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為:(ch = getc(fp)) != EOF.EOF為文件結束標志, 定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp
為stdin 時,getc(stdin)就等同於getchar()了. int putc(int ch,FILE *fp) putc主要是把符ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int getchar(void)
getchar
主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元串放在緩沖區中,getchar就是在緩沖區一個一個的讀字元.當然也可以在while循環中指定終止字元,
如下面的語句:
while ((c = getchar()) != '#')
這是以#來結束的.
int putchar(int ch)
putchar(ch)
主要是把字元ch寫到標准流stdout中去.
char * gets(char *str)
gets
主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去. int puts(char *str)
puts
主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char *fgets(char *str, int num, FILE *fp)
str
是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是
讀一行字元,該行的字元數不大於num-1.因為fgets
函數會在末尾加上一個空字元以構成一個字元串.
另外
fgets
在讀取
到換行符後不會將其省略
.
int fputs(char *str, file *fp)
fputs
將
str
寫入
fp.fputs
與
puts
的不同之處是
fputs
在列印時並不添加換行符
.
int fgetc(FILE *fp)
fgetc
從
fp
的當前位置讀取一個字元
.
int fputc(int ch, file *fp)
fputc
是將
ch
寫入
fp
當前指定位置
.
int fscanf(FILE *fp, char *format,...)
fscanf
按照指定格式從文件中出讀出數據
,
並賦值到參數列表中
.
int fprintf(FILE *fp, char *format,...)
fprintf
將格式化數據寫入流式文件中
.
http://www.cnblogs.com/yaoleiroyal/archive/
2008
/
04
/
03
/1135819.html
字元串輸入:
gets()
char name[20];
printf("Hi,What's your name?\n");
gets(name);
printf("Nice name %s",name);
它使用一個地址把字元串賦予
name
。
char name[20];
char *p;
printf("\nEn,What's your name?\n");
p=gets(name);
printf("%s?Oh,Nice name %s\n",name,p);
get()
的代碼使用
return
關鍵字返回字元串的地址,程序把這個地址分配給指針
p
。
fgets()
fgets()
是為文件
I/O
而設計的,處理鍵盤輸入不是特別方便。
printf("\nHi,What's your name?\n");
p=fgets(name,20,stdin);
printf("%s?Oh,Nice name %s\n",name,p);
*fgets()
的第二個參數說明最大讀入的字元數。如果這個參數值為
n
,那麼
fgets()
就會讀取最
多
n-1
個字元或讀完一個換行符為止。兩個條件滿足任意一個結束。
*fgets()
讀取到換行符,就會把它存到字元串里,而不是想
gets()
那樣丟棄它。
*fgets()
的第三個參數說明讀哪個文件。
從鍵盤上讀數據時,
可以使用
stdin(
代表
standard input)
作為參數。
scanf()
char name1[11], name2[11];
int count;
printf("\nPlease write down 2 names...\n");
count=scanf("%5s %6s",name1,name2);
printf("\nname1:%s\nname2:%s",name1,name2);
scanf()
允許指定輸入字元串長度等格式。上面的程序如果輸入
"liujiajia
liujiajia",
程序將輸出
"name1:liuji
name2:liujia";
字元串輸出:
puts()
char str[15]="hello world";
const char *str2="HELLO WORLD";
puts(str);
puts(str2);
puts(&str[5]);
puts(str2+2);
puts()
顯示字元串時自動在其後添加一個換行符。
puts(&str[5]);
將輸出從
str
的第六個元素開始到字元串結束。
puts(str2+2);
將輸出從
str2
的地址向後移動兩個字元開始到字元串結束。
fputs()
fputs(str,stdout);
fputs(str2,stdout);
fputs(&str[5],stdout);
fputs(str2+2,stdout);
*fputs()
第二個參數表示要寫的文件。可以使用
stdout(
代表
standard output)
作為參數。
*fputs()
不自動輸出換行符,這與
puts()
不太相同。
10. C語言輸出字元提示錯誤
putchar("\n");這個錯了putchar是輸出字元"\n",你這個是雙引號,代表的是字元串,應該是『\n』
其他的應該沒什麼問題
還有一個就是如果你是以回車為結束輸入的話,這段代碼只能輸入兩個字元,第一個字元輸入後的回車會算第二個字元,之後只能在輸入一個字元之後就會輸出