這裡蒐索程式師資訊,查找有用的技術資料
當前位置:首頁 » 編程語言 » c語言中等程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中等程序

發布時間: 2022-05-05 11:15:23

1. 求最簡單的c語言程序

#include<stdio.h>

main()

{

int a,b,t=0;

scanf("%d %d",&a,&b);

if (a<b)

{

t=a;

a=b;

b=t;

}

printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));

}

2. c語言中的程序

#include <stdio.h>
main()
{
char a[10]="";
int i,t;
printf("input a string:");
gets(a);
printf("before:");
puts(a);
for(i=0;i<10/2;i++)
{
t=a[i];
a[i]=a[9-i];
a[9-i]=t;
}
printf("after:");
for(i=0;i<10;i++)
printf("%c",a[i]);
}

3. 簡單c語言程序

1、★編寫程序,輸入兩個整數:1500和350,求出它們的商和余數並輸出。
main()
{int
a;
int
b;
scanf("%d%d",a,b)
printf("商:%d\n余數:%d",a/b,a%b);
}
2、★編寫程序,讀入三個整數給a,b,c,然後交換它們中的數,把a中原來的值給b,b中原來的值給c,
c中原來的值給a,且輸出改變後的a,b,c的值
main()
{int
a;
int
b;
int
c;
int
tmp;
scanf("%d%d%d",a,b,c)
printf("a:%d
b:%d
c:%d",a,b,c);
tmp=c;
c=b;
b=a;
a=c;
printf("a:%d
b:%d
c:%d",a,b,c);
}
3、★輸入兩個整型變數a,b的值,輸出a+b,a-b,a*b,a/b,(float)a/b,a%b的結果,要求連同算式一起輸出,每個算式佔一行。
main()
{int
a;
int
b;
scanf("%d%d",a,b)
printf("a+b=%d\na-b=%d\na*b=%d\na/b=%d\n(float)a/b=%f\na%b=%d",a+b,a-b,a*b,a/b,(float)a/b,a%b);
}
4、★輸入一個非負數,計算以這個數為半徑的圓周長和面積。
main()
{float
a;
scanf("%f",a);
printf("周長=%f\n面積=%f",2*a*3.14,3.14*a*a);
}
5、★輸入任意一個三位數,將其各位數字反序輸出(例如輸入123,輸出321).
main()
{int
a;
int
b;
scanf("%d",a);
printf("%d",a%10);
a=a%100
printf("%d",a%10);
a=a%10
printf("%d",a%10);
}
6、★輸入任意大小的三個整數,判斷其中是否有兩個奇數一個偶數。若是,則輸出「YES」,不是則輸出「NOT」
(要求用條件表達式進行判斷,不使用if語句)
main()
{int
a;
int
b;
int
c;
int
n=0;
scanf("%d%d%d",a,b,c);
a%2==1?n++:a;
b%2==1?n++:b;
c%2==1?n++:c;
if
n==2
printf("YES");
else
printf("NOT");
}
7、★求前驅字元和後繼字元。輸入一個字元,找出它的前驅字元和後繼字元,並按ASCII碼值,按從大到小的順序輸出這三個字元及其對應的ASCII碼值。
main()
{char
a;
scanf("%c",a);
printf("%c%c%c"a-1,a,a+1);
}
累啊

4. 求簡單C語言程序代碼!

輸入2個正整數m和n,求其最大公約數和最小公倍數

#include

#include

int main()

int m,n,p,q,s,r;

printf("請輸入兩個正整數;m,n ");

scanf("%d,%d",&m,&n);

#include<stdio.h>

main()

int a,b,t=0;

scanf("%d %d",&a,&b);

if (a<b)

printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));

}

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:網路-c語言

5. C語言是什麼意思

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。

目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

(5)c語言中等程序擴展閱讀:

C語言的優勢:

1.相比較其他的編程語言(像C++,JAVA),C語言是個低級語言。從總體上來說,低級的編程語言可以讓你更好的了解計算機。

2.設備驅動程序和操作系統只能用C語言來編寫。現在,你可能還從來沒有編寫過一個設備驅動程序或者一個操作系統,但是如果你需要去修改他們的時候,怎麼辦?

3.如果你想要得到一份編寫微控制器程序的工作的時候,該怎麼辦?他們都是用C語言編寫的。就因為不想學習一門新的語言,你就准備限制你能得到工作的機會嗎?

4.C的程序比其他用別的語言寫的程序,實現相同的功能,它用的代碼行數更少,而它帶來的運行效率更快。有時候,你的程序所需要的速度,只有C語言能做到。

5.如果你學習過C語言,你就能學習現在任何的高級編程語言。因為所有的高級語言都是以C語言為基礎的(像JAVA,C++,C#等等)。

6.因為C語言已經存在很多年了,它有廣泛的使用團體並且有大量的現成代碼可以利用。這就使你能在過去程序的基礎上,快速和高效的編寫新的演算法和函數。

7.C語言是一個開源組織的語言。一個開源組織的產物--LINUX,就是用C語言寫的。如果你會C語言,你就能參加這個組織並且還能向眾多的開源組織投稿,比如參加Source Forge並且給他們投稿。

8.C語言是唯一一個向你闡述指針的本質的語言。而C#和Java乾脆跳過了指針這個題目。可是指針確實使C語言變得更加強大。

9.找編程開發方面的工作時,C語言仍然是最普遍需要的語言。所以它值得你花時間去學會它。

10.任何裡面有微處理器的設備都支持C語言。從微波爐到手機,都是由C語言技術來推動的。

6. C語言中等難度編程題目2題

#include <stdio.h>
void main()
{int num_10,changenum ;
int stack[10]={0};
int top=0;
while(1){
top =0;
printf("\ninput you will change number:\n");
scanf("%d",&num_10);
printf("you will change %d to \n",num_10);
scanf("%d",&changenum);
do{
stack[top++]=num_10%changenum;
num_10/=changenum;
}while (num_10) ;
top --;
while(top>=0)
{ if(stack[top]<10)
printf("%d",stack[top]);
else if( stack[top]>=10&&stack[top]<16)
{
switch (stack[top])
{
case 10:printf("A"); break;
case 11:printf("B"); break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
}
}
top--;
}
}
getch();
}

7. 怎麼才能用c語言中的指針與數組做一個中等的項目

數組和指針的關系

一、數組的數組名其實可以看作一個指針。看下例:

例1:

int array[10]=,value;

value=array[0];//也可寫成:value=*array;

value=array[3];//也可寫成:value=*(array+3);

value=array[4];//也可寫成:value=*(array+4);

上例中,一般而言數組名array代表數組本身,類型是int [10],但如果把array看做指針的話,它指向數組的第0個單元,類型是int *,所指向的類型是數組單元的類型即int。因此*array等於0就一點也不奇怪了。同理,array+3是一個指向數組第3個單元的指針,所以*(array+3)等於3。其它依此類推。

二、指針數組的定義及使用

例2:

char *str[3]={ //注意指針數組的定義及初始化格式

"Hello,this is a sample!",

"Hi,good morning.",

"Hello world"

};

char s[80];

strcpy(s,str[0]);//也可寫成strcpy(s,*str);

strcpy(s,str[1]);//也可寫成strcpy(s,*(str+1));

strcpy(s,str[2]);//也可寫成strcpy(s,*(str+2));

上例中,str是一個三單元的數組,該數組的每個單元都是一個指針,這些指針各指向一個字元串。把指針數組名str當作一個指針的話,它指向數組的第0號單元,它的類型是char**,它指向的類型是char *。
*str也是一個指針,它的類型是char*,它所指向的類型是char,它指向的地址是字元串"Hello,this is a sample!"的第一個字元的地址,即'H'的地址。 str+1也是一個指針,它指向數組的第1號單元,它的類型是char**,它指向的類型是char *。

*(str+1)也是一個指針,它的類型是char*,它所指向的類型是char,它指向"Hi,good morning."的第一個字元'H',等等。

三、數組名小結:
聲明了一個數組TYPE array[n],則數組名稱array就有了兩重含義:第一,它代表整個數組,它的類型是TYPE [n];第二,它是一個指針,該指針的類型是TYPE*,該指針指向的類型是TYPE,也就是數組單元的類型,該指針指向的內存區就是數組第0號單元,該指針自己佔有單獨的內存區,注意它和數組第0號單元占據的內存區是不同的。該指針的值是不能修改的,即類似array++的表達式是錯誤的。

在不同的表達式中數組名array可以扮演不同的角色。

(1)在表達式sizeof(array)中,數組名array代表數組本身,故這時sizeof函數測出的是整個數組的大小。

(2)在表達式*array中,array扮演的是指針,因此這個表達式的結果就是數組第0號單元的值。sizeof(*array)測出的是數組單元的大小。

(3)表達式array+n(其中n=0,1,2,....。)中,array扮演的是指針,故array+n的結果是一個指針,它的類型是TYPE*,它指向的類型是TYPE,它指向數組第n號單元。故sizeof(array+n)測出的是指針類型的大小。

四、數組指針的定義及使用:

例3:

int array[10];

int (*ptr)[10]; //數組指針ptr,指向一個數組int[10]

ptr=&array;

上例中ptr是一個指針,它的類型是int (*)[10],他指向的類型是int [10],我們用整個數組的首地址來初始化它。在語句ptr=&array中,array代表數組本身。

五、對指針和數組執行sizeof操作的結果:
sizeof(指針名稱)測出的究竟是指針自身類型的大小呢還是指針所指向的類型的大小?答案是前者。例如:

int (*ptr)[10];

則在32位程序中,有:

sizeof(int(*)[10])==4

sizeof(int [10])==40

sizeof(ptr)==4

實際上,sizeof(對象)測出的都是對象自身的類型的大小,而不是別的什麼類型的大小。

8. 請C語言中等水平以上的來

代碼:
#include <stdio.h>
#include <string.h>
void main()
{
struct pu
{
char name[8];
char sex[2];
float a1;
float a2;
float a3;
}s[3];
int mindex1=0,mindex2=0,mindex3=0,mindext=0;
float total[3];
int i;
for (i=0;i<3;i++)
{
printf("姓名:");
scanf("%s",s[i].name);
l: printf("性別:男(M)/女(F)");
char t;
scanf("%s",&t);
if (t=='M' || t=='m') strcpy(s[i].sex,"男");
else if (t=='F' || t=='f') strcpy(s[i].sex,"女");
else goto l;
total[i]=0;
printf("英語成績:");
scanf("%f",&s[i].a1);
total[i]+=s[i].a1;
if (s[i].a1>s[mindex1].a1) mindex1=i;
printf("數學成績:");
scanf("%f",&s[i].a2);
total[i]+=s[i].a2;
if (s[i].a2>s[mindex2].a2) mindex2=i;
printf("語文成績:");
scanf("%f",&s[i].a3);
total[i]+=s[i].a3;
if (s[i].a3>s[mindex3].a3) mindex3=i;
if (total[i]>total[mindext]) mindext=i;
}
printf("\t英語\t數學\t語文\t總成績\t平均成績\n");
for (i=0;i<3;i++)
{
printf("%d:%s\t%3.2f\t%3.2f\t%3.2f\t%3.2f\t%3.2f\n",i+1,s[i].name,s[i].a1,s[i].a2,s[i].a3,total[i],total[i]/3);
}
printf("最高分:\n");
printf("\t英語:%3.2f (%d:%s)\n\t數學:%3.2f (%d:%s)\n\t語文:%3.2f (%d:%s)\n\t總成績:%3.2f (%d:%s)\n\t平均成績:%3.2f (%d:%s)",s[mindex1].a1,mindex1+1,s[mindex1].name,s[mindex2].a2,mindex2+1,s[mindex2].name,s[mindex3].a3,mindex3+1,s[mindex3].name,total[mindext],mindext+1,s[mindext].name,total[mindext]/3,mindext+1,s[mindext].name);
}

測試樣例:

姓名:張三
性別:男(M)/女(F)m
英語成績:35
數學成績:64
語文成績:66
姓名:李四
性別:男(M)/女(F)f
英語成績:75
數學成績:54
語文成績:64
姓名:王五
性別:男(M)/女(F)m
英語成績:53
數學成績:45
語文成績:75
英語 數學 語文 總成績 平均成績
1:張三 35.00 64.00 66.00 165.00 55.00
2:李四 75.00 54.00 64.00 193.00 64.33
3:王五 53.00 45.00 75.00 173.00 57.67
最高分:
英語:75.00 (2:李四)
數學:64.00 (1:張三)
語文:75.00 (3:王五)
總成績:193.00 (2:李四)
平均成績:64.33 (2:李四)
學號欄位最好還是設計一下,這里採用自然下標了。
那個「性別」提干好像沒要求,是為了增加難度嗎?不過還是小兒科了一點。

9. 一個簡單的c語言程序

很多程序都是非常簡單的:
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}

2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}

3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}

4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}

5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}

6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}

7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)

#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}

8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}

10. 自學C語言到中等水平需要什麼條件,大概需要多久

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。打好基礎,然後就是看關於C語言實例的書了,大概半年就能行。