當前位置:首頁 » 編程語言 » c語言常式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言常式

發布時間: 2022-01-30 20:10:22

1. c語言實例

#include
<stdio.h>
#define
N
50
//
排隊人數(可任意更改)
#define
CAL
3
//凡報3的人出列(可任意更改)
//下面是排隊編號函數:從h
開始的n個人依次編號1到n
void
stdline(int
*h,int
n)
{
int
i;
for(i=1;i<n+1;i++)
*(h+i-1)=i;
}
/*下面函數表示從指針h處開始的人數為boy個人排隊,從1報數,每報到call的人出列*/
void
outline(int
*h,int
boy,int
call)
{
int
*p,
chu,
callnum;
/*說明:
p
工作指針,表示從頭依次指向每個元素,點名
chu
計數器,記錄出列的人數
callnum
計數器,記錄點名次序
*/
chu=0;
callnum=0;//各計數器清零
p=h;
//開始時,工作指針指向數組首
printf("出列順序是:\n");
while(chu<boy)
{
if(*p!=0)
callnum++;
//每次加報數
if(callnum==call)
//如果某一個人報到出列數call...
{
printf("%5d",*p);
//列印編號,表示出列
chu++;
//出列人數加1
if(chu==boy)//如果全部出列....
{
*h=*p;
//把最後一個出列人的編號記入地址開始處
return;
//結束
}
if(chu%10==0)printf("\n");//每輸出10個換行
callnum=0;
//出列後,重新報數
*p=0;
//出列後,將其編號賦零,以示區別
}
p++;
//工作指針移向下一個人,即下一個數組元素
if(p>h+boy-1)p=h;/*如果移到最後一個元素的後面,則讓指向地址開頭繼續報數*/
}
}
void
main()
{
int
a[N];
//用數組模擬隊列,每個元素代表一個人
stdline(a,N);//編號
outline(a,N,CAL);//計算並列印出列順序
printf("\n最後留下來的是
%d
號\n",*a);/*在函數中,已經把最後一個人的編號寫入了數組首地址處,
這里輸出就可以了*/
}

2. 經典C語言程序例子

題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。

(2)c語言常式擴展閱讀:

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

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

3. 求編寫一個c語言程序

根據題目要求定義結構類型,比如:
typedef struct stuInfo
{
int id;//學號
char name[20];//學生姓名
int type;//上機類別0:上課1:普通上機2:上網
char logTime[50];//上機時間
char outTime[50];//下機時間
………等等其它成員變數,如想用鏈表,還可以再加一個指針:struct stuInfo *next;
}STUINFO;
然後就可以用該類型STUINFO定義結構數組變數或者是鏈表。
用fopen函數打開文件獲得文件流FILE*,然後用fscanf函數把文件流中的數據讀取到結構變數中就能達到題目要求。

4. c語言 程序

這個是比較早期的作品。。。沒有文件讀取和用戶界面

#include <iostream>
#include <cstring>
struct st
{
int no;
char name[20];
int math;
int eng;
int pro;
int sum;
double ave;
};
struct Node
{
st content;
Node *next;
};
void input(st ,Node *&head);
void output(Node *head);
void del(int a,Node *&head);
void out(Node *p);
using namespace std;
Node *head=NULL;
int main()
{
A:
cout << "請不要搞惡,會崩的!!!!\n";
cout << "請輸入要求操作的代號\n";
cout << "1 添加新數據。\n";
cout << "2 查找數據。\n";
cout << "3 修改數據。\n";
cout << "4 刪除數據。\n";
cout << "5 統計。\n";
cout << "6 說明文檔\n";
cout << "7 退出。\n";
int choice;
cin >> choice;
switch (choice)
{
case 1:
{
cout << "開始輸入,請依次輸入這位同學的學號、姓名、數學、英語、程序設計的成績;輸完請輸-1" << endl;
st cont;
for(;;)
{
cin >> cont.no ;
if(cont.no==-1) break;
cin >> cont.name >> cont.math >> cont.eng >> cont.pro;
cont.sum = cont.math + cont.eng + cont.pro;
cont.ave = cont.sum / 3.0;
input(cont,head);
}
break;
}
case 2:
{
if(head==NULL) {cout << "已經為空!!\n"; break;}
cout << "請輸入要查找的類型" <<endl;
cout << "1 學號\n" ;
cout << "2 姓名\n" ;
cout << "3 數學成績\n" ;
cout << "4 英語成績\n" ;
cout << "5 程序設計成績\n" ;
cout << "6 總成績\n" ;
cout << "7 平均成績\n" ;
int type;
cin >> type;
switch (type)
{
case 1:
{
int target;
cout << "請輸入學號。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.no==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.no==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 2:
{
char target[20];
cout << "請輸入姓名。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(strcmp(target , p->content.name)==0)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(strcmp(target , p->content.name)==0)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 3:
{
int target;
cout << "請輸入數學成績。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.math==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.math==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 4:
{
int target;
cout << "請輸入英語成績。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.eng==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.eng==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 5:
{
int target;
cout << "請輸入程序設計成績。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.pro==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.pro==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 6:
{
int target;
cout << "請輸入總成績。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.sum==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.sum==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
case 7:
{

int target;
cout << "請輸入平均成績。" <<endl;
cin >> target;
int i = 1;
Node *p;
for (p=head;p->next!=NULL;p=p->next)
{
if(p->content.ave==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
i++;
}
if(p->content.ave==target)
{
cout << "第" << i << "個" << "為" << target << endl;
out(p);
}
cout << "是否刪除y or n\n" ;
char y_n;
cin >> y_n;
if(y_n=='y') del(i,head);
break;
}
default:cerr << "跟你說了別惡搞,真的會崩的\n" ;
}//switch (type)
break;
}
case 3:
{
if(head==NULL) {cout << "已經為空!!\n"; break;}
cout << "請輸入要修改的數據的編號"<<endl;
int a;
cin >> a;
cout << "請輸入要更改的類型"<<endl;
cout << "1 學號\n" ;
cout << "2 姓名\n" ;
cout << "3 數學成績\n" ;
cout << "4 英語成績\n" ;
cout << "5 程序設計成績\n" ;
int typ;
cin >> typ;
switch(typ)
{
case 1:
{
cout << "請輸入新值。" <<endl;
int n;
cin >> n;
Node *p=head;
if(a==1)
{
p->content.no = n;
}
else
{
for(int i=1;i<a;i++)
{
p=p->next;
}
p->content.no = n;
}
break;
}
case 2:
{
cout << "請輸入新值。" <<endl;
char n[20];
cin >> n;
Node *p=head;
if(a==1)
{
strcpy(p->content.name , n);
}
else
{
for(int i=1;i<a;i++)
{
p=p->next;
}
strcpy(p->content.name , n);
}
break;
}
case 3:
{
cout << "請輸入新值。" <<endl;
int n;
cin >> n;
Node *p=head;
int temp ;
if(a==1)
{
temp=p->content.math ;
p->content.math = n;
}
else
{
for(int i=1;i<a;i++)
{
p=p->next;
}
temp=p->content.math ;
p->content.math = n;
}
p->content.sum=p->content.sum - temp + n;
p->content.ave=p->content.sum/3.0;
break;
}
case 4:
{
cout << "請輸入新值。" <<endl;
int n;
cin >> n;
Node *p=head;
int temp ;
if(a==1)
{
temp=p->content.eng ;
p->content.eng = n;
}
else
{
for(int i=1;i<a;i++)
{
p=p->next;
}
temp=p->content.eng;
p->content.eng = n;
}
p->content.sum=p->content.sum - temp + n;
p->content.ave=p->content.sum/3.0;
break;
}
case 5:
{
cout << "請輸入新值。" <<endl;
int n;
cin >> n;
Node *p=head;
int temp ;
if(a==1)
{
temp=p->content.pro ;
p->content.pro = n;
}
else
{
for(int i=1;i<a;i++)
{
p=p->next;
}
temp=p->content.pro;
p->content.pro = n;
}
p->content.sum=p->content.sum - temp + n;
p->content.ave=p->content.sum/3.0;
break;
}
default:cerr << "跟你說了別惡搞,真的會崩的\n" ;
}//switch(typ)
break;
}
case 4:
{
if(head==NULL) {cout << "已經為空!!\n"; break;}
cout << "請輸入要刪除的數據的位置" <<endl;
int loc;
cin >> loc;
del(loc,head);
break;
}
case 5:
{
if(head==NULL) {cout << "已經為空!!\n"; break;}

cout << "請選擇統計類型" << endl;
cout << "1 每門課90分以上的" <<endl;
cout << "2 每門課60分以下的" <<endl;
cout << "3 單科分數排名" <<endl;
cout << "4 總分排名" <<endl;
int tp;
cin >> tp;
switch (tp)
{
case 1:
{
cout << "選擇科目\n" << "1 數學\n2 英語\n3 程序設計\n";
int dec;
cin >> dec;
if(dec == 1)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.math>90) out(q);
}
if(q->content.math>90) out(q);
}
else if(dec == 2)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.eng>90) out(q);
}
if(q->content.eng>90) out(q);
}
else if(dec == 3)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.pro>90) out(q);
}
if(q->content.pro>90) out(q);
}
else
cout << "輸入錯誤\n";
break;
}
case 2:
{
cout << "選擇科目\n" << "1 數學\n2 英語\n3 程設\n";
int dec;
cin >> dec;
if(dec == 1)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.math<60) out(q);
}
if(q->content.math<60) out(q);
}
else if(dec == 2)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.eng<60) out(q);
}
if(q->content.eng<60) out(q);
}
else if(dec == 3)
{
Node *q;
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for(q=head;q->next!=NULL;q=q->next)
{
if(q->content.pro<60) out(q);
}
if(q->content.pro<60) out(q);
}
else
cout << "輸入錯誤\n";
break;
}
case 3:
{
cout << "選擇科目\n" << "1 數學\n2 英語\n3 程序設計\n";
int dec;
cin >> dec;
if(dec == 1)
{
for(Node *q1=head;q1->next!=NULL;q1=q1->next)
{
Node *q_max=q1;
for(Node *q2=q1->next;q2->next!=0;q2=q2->next)
{
if(q2->content.math > q_max->content.math)
q_max=q2;
if(q1->content.math !=q_max->content.math )
{
Node temp;
temp.content =q1->content;
q1->content=q2->content;
q2->content=temp.content;
}
}

}
output(head);

}
else if(dec == 2)
{
for(Node *q=head;q->next!=NULL;q=q->next)
{
for(Node *q1=head;q1->next!=NULL;q1=q1->next)
{
Node *q_max=q1;
for(Node *q2=q1->next;q2->next!=0;q2=q2->next)
{
if(q2->content.eng > q_max->content.eng )
q_max=q2;
if(q1->content.eng !=q_max->content.eng )
{
Node temp;
temp.content =q1->content;
q1->content=q2->content;
q2->content=temp.content;
}
}

}
}
output(head);
}
else if(dec == 3)
{
for(Node *q=head;q->next!=NULL;q=q->next)
{
for(Node *q1=head;q1->next!=NULL;q1=q1->next)
{
Node *q_max=q1;
for(Node *q2=q1->next;q2->next!=0;q2=q2->next)
{
if(q2->content.pro > q_max->content.pro)
q_max=q2;
if(q1->content.pro!=q_max->content.pro)
{
Node temp;
temp.content =q1->content;
q1->content=q2->content;
q2->content=temp.content;
}
}
}

}
output(head);
}
else
cout << "輸入錯誤\n";
break;
}
case 4:
{
for(Node *q=head;q->next!=NULL;q=q->next)
{
for(Node *q1=head;q1->next!=NULL;q1=q1->next)
{
Node *q_max=q1;
for(Node *q2=q1->next;q2->next!=0;q2=q2->next)
{
if(q2->content.sum > q_max->content.sum)
q_max=q2;
if(q1->content.sum!=q_max->content.sum)
{
Node temp;
temp.content =q1->content;
q1->content=q2->content;
q2->content=temp.content;
}
}
}

}
output(head);
break;
}
default:cerr << "跟你說了別惡搞,真的會崩的\n" ;
}//switch(tp)
break;
}
case 6:
{
cout <<"################################################################################\n";
cout <<"這是B版,容易崩潰,請按照正常方式輸入,如果您想測試它是否會崩,那肯定崩!!!!\n";
cout <<endl;
cout <<"################################################################################\n";
break;
}
case 7:
{
cout << "謝謝使用,沒崩說明你強\n";
return 0;
break ;
}
default:cerr << "跟你說了別惡搞,真的會崩的\n" ;
} //switch(choice)
goto A;
}

void del (int a,Node *&head)
{
if(head==NULL) {cout << "已經為空!!\n" <<endl;return ;}
Node *p=head;
if(a==1)
{
head=p->next;
delete p;
}
else
{
Node *q=p->next;
for(int i=1;i<a-1;i++)
{
p=p->next;
q=p->next;
}
p->next=q->next;
delete q;
}
}
void out(Node *p)
{

cout << p->content.no <<'\t';
cout << p->content.name <<'\t';
cout << p->content.math <<'\t';
cout << p->content.eng <<'\t';
cout << p->content.pro <<'\t';
cout << p->content.sum <<'\t';
cout << p->content.ave <<'\n';
}

void output(Node *head)
{
cout << "學號\t" << "姓名\t" << "數學\t"<< "英語\t"<< "程設\t"<< "總分\t" << "平均分\n" ;
for (Node *p=head;p!=NULL;p=p->next)
{
cout << p->content.no<<'\t';
cout << p->content.name<<'\t';
cout << p->content.math<<'\t';
cout << p->content.eng <<'\t';
cout << p->content.pro<<'\t';
cout << p->content.sum<<'\t';
cout << p->content.ave<<'\t';
cout << endl;
}
}

void input(st cont,Node *&head)
{
Node *p=new Node;
p->content=cont;
if (head==NULL)
{
head=p;
p->next=NULL;
}
else
{
p->next=head;
head=p;
}
}

5. 編寫一個c語言程序

1。你的 mulabc 是main函數的一個子函數吧。。只用寫一個#include<stdin.h>就行了。。
2。子函數中int n,a[],b[],c[]都是不必要的,你在void mulabc(n,a,b,c)中相當於已經聲明了。。。
3。你在void mulabc(n,a,b,c)應該聲明各變數類型。。改成如void mulabc(int n,int *a, int *b, int *c)

在你的基礎上更改的代碼:
#include<stdio.h>
void mulabc(int n,int *a, int *b, int *c)
{
int k;
for (k=0;k<n;k++)
c[k]=a[k]*b[k];
}
void main()
{
int k,c[10];
int a[10]={1,3,5,7,9,11,13,15,17,19};
int b[10]={2,4,6,8,10,12,14,16,18,20};
mulabc(10,a,b,c);
printf("arry a:\n");
for (k=0;k<10;k++)
printf("%5d",a[k]);
printf("\n");
printf("arry c=ab:\n");
for (k=0;k<10;k++)
printf("%5d",c[k]);
printf("\n'");
return ;
}
(dev下成功運行。。)
加油吧~

6. 求簡單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語言

7. 求最簡單的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));

}

8. C語言常式是什麼

常式的作用類似於函數,但含義更為豐富一些。常式是某個系統對外提供的功能介面或服務的集合。比如操作系統的API、服務等就是常式;Delphi或C++Builder提供的標准函數和庫函數等也是常式。我們編寫一個DLL的時候,裡面的輸出函數就是這個DLL的常式。 可以這么簡單地來理解:把一段相對獨立的代碼寫成單獨的一個模塊就是函數的概念。我們可以在自己的程序中編寫很多個函數,從而實現模塊化編程。但這些模塊或者說函數並不一定向外輸出(即提供給別的程序使用),只用於當前這個程序裡面。此時這些函數就僅僅具有獨立函數的意義,但不是常式。

轉網路

9. c語言編程實例

第一個問題用switch語句
第二個用if else語句的嵌套

呵呵不好意思 我比較懶不想打代碼了