c語言任務
『壹』 c語言任務,幫個忙,按要求做
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<conio.h>
void fun(char xx[]) //前面加$的函數
{
char *p,*q;
int len,j=0;
len=strlen(xx); // 求原來的長度
p=xx; //p指向數組首地址
q=xx+len; //q指向尾地址。
while(*p!=EOF){ //p 沒到結束
if(*p>='0'&&*p<='9'){ //判斷是不是數字
while(q!=p){*q=*(q-1);--q;} // 把數字後面的所有內容往後退一位,空出地方插 $;
j++; //計數,一個數字相應 +1;
*(p+1)=*p; // 把數字放後面一位
*p='$'; //原數字位置放 $;
p++; // p指向後一位,就是移過的數字位
q=xx+len+j; //q 指向增加後的 數組尾巴。
*q='\0'; //尾巴上放 一個文件 結尾符。
}
p++; //p 再向後移一個。指向數字的後一位。
}
}
int main()
{
char *a;
int len,j=0;
a=(char *)malloc(sizeof(char)); //因為不知道字元串長度,和數字個數,所以定義個 動態數組最好,防止插入後數組越界。
printf("輸入原始字元串:\n");
gets(a);
fun(a); //調用處理函數。
printf("轉換後字元串:%s",a);
getch(); //這個是接收一個字元,當暫停用的,不用管。防止運行一閃就沒。。
return 0;
}
『貳』 小白發問,這個C語言任務該如何編寫求大佬幫助啊!!
#include <stdio.h>
#include<math.h>
int prime(int a) //判斷是否為素數,是素數返回0
{
int b = (int)sqrt(a);
int fact = 0;
for(int i = 2; i<=b; i++)
{
if(a%i == 0)
fact = 1;
}
return fact;
}
void main()
{
int a,b=0;
for(int i=2; i<=100;i++) //判斷從2到100的每個數是否為素數
{
a = prime(i);
if(a == 0)
{ b++;
printf("%d ",i);
}
if(b==10) //每十個輸出為一行
{
printf(" ");
b=0;
}
}
printf(" ");
}
『叄』 C語言 任務一 任務要求:編寫一個程序,可以根據輸入的數字列印不同的內容。
#include<stdio.h>
main()
{
inti;
while(1){
scanf("%d",&i);
switch(i){
case0:printf("姓名,專業年級,性別
");break;
case1:printf("姓名
");break;
case2:printf("專業年級
");break;
case3:printf("性別
");break;
default:printf("請重新輸入
");break;
}
}
}
如圖所示,望採納。。。。。。
『肆』 C語言 任務分配的問題
#include <stdio.h>
void function();
void main()
{
int t;
printf("input t\n");
scanf("%d",&t);
while(0<t--)
function();
}
void function()
{
int i,j,n,a[100][100],a1[100]={0},k=0,i1,j1;
printf("input n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("%2d:",i+1);
scanf("%d",&a[i][0]);
for(j=1;j<=a[i][0];j++)
scanf("%d",&a[i][j]);
}
for(i=1;i<101;i++)
for(j=n-1;j>=0;j--)
if(a[j][0]==0)
{
a1[k++]=j+1;
for(i1=0;i1<n;i1++)
for(j1=1;j1<=a[i1][0];j1++)
if(a[i1][j1]==j+1)
{
a[i1][0]--;
break;
}
a[j][0]=200;
break;
}
if(k==n)
{
for(i=0;i<k;i++)
printf("%d ",a1[i]);
printf("\n");
}
else
printf("-1\n");
}
『伍』 c語言設計的任務是什麼
一、 目的:進一步消化和鞏固已學過的C 語言程序設計基礎理論,學習和實踐程序設計的各種技能,利用C 語言來設計各種應用程序和管理系統,為社會提供各種現代化的管理工具。
二、 設計題目:
1. 學生學習成績管理系統;
2. 多功能計算器;
3. 學生自選題目;
三、 對題目的要求:
一)學生學習成績管理系統
1. 系統的功能模塊組成:
動畫登錄
系統菜單
數據輸入 修改 查詢 統計 查詢 報表 退出
2. 系統要求由登錄窗口經驗證密碼後進入主菜單,對登錄窗口設計一個彩色圖形界面且操作方便靈活;
3. 主菜單至少包含上面7個功能模塊,讓使用者選擇功能後即可進行相應功能操作;
4. 數據輸入模塊要求能一邊輸入數據記錄一邊顯示出數據且數據顯示整齊,同時將數據記錄寫入數據文件中,輸入完後報告實際記錄個數;
5. 修改模塊用於對數據記錄文件進行修改和添加,然後數據記錄寫入文件中;
6. 查詢模塊要求有多種查詢功能,能按姓名、學號、總分、單科、90分以上、不及格等條件查詢;
7. 排序模塊要求能別按升序和降序排列,並能顯示出排序前後的數據;
8. 報表模塊的功能用於顯示整個數據文件中的數據;
9. 統計模塊用於分級統計學生的人數,並顯示出統計結果;
10. 學生成績管理系統的數據格式要求使用結構體類型定義,同時定義一個結構體數組用來存放數據記錄,結構體(自定義類型)可定義為:姓名、性別、學號、數學、外語、計算機、政治等成員,數據保存在隨機文件stu.dat中;
二)多功能計算器
1. 系統要求彩色動畫登錄,登錄後顯示出計算器彩色主畫面;
2. 系統須具有加、減、乘、除、乘方、開方、階乘、三角函數運算等功能;
3. 對每一個運算都有一個了菜單,在主畫面上方設計一個結果顯示框;
4. 對四則運算要有連續運算的功能;
5. 對三角函數運算模塊要求輸入數據用角度,運算時自動轉換為弧度;
『陸』 在c語言中想要讓一個任務執行完成之後才可以執行下一個任務要怎麼做
用循環做,例子:
int a=0;
scanf("%d",&a);
switch(a)
{
case 1://功能1...
break;
case 2:while(1){
printf("請輸入學生數據\n");
//學生數據錄入功能
//錄入完後,break;
}
break;
//......
}
『柒』 小白發問,這個C語言任務該如何編寫
void squeeze(char* str1, char* str2)
{
int len1 = strlen(str1);
int len2 = strlen(str2);
char* temp = (char*)malloc(len1);
memset(temp, 0, len1);
int tempLen = 0;
for (int i = 0; i < len1;++i)
{
char* p = find(str2, str2 + len2, str1[i]);
if (p == str2 + strlen(str2)) //在s2中沒找到與s1[i],s1[i]就是有效字元
{
temp[tempLen++] = str1[i];
}
}
memcpy(str1, temp, tempLen + 1);//+1 是為了把結束符拷貝進去
}
main()
{
char s1[20] = "THISISABOOKS";
char s2[5] = "IS";
squeeze(s1, s2);
printf("%s", s1);
}
『捌』 C語言任務,簡單的
#include <stdio.h>
#include <ctype.h> /*此頭文件包含 isdigit() 函數 */
int fun(char a[]);
void main()
{
char ch[256];
printf("請輸入字元串:");
gets(ch);
printf("被刪除的字元個數:%d\n",fun(ch));
}
int fun(char a[])
{
int num=0; /*用來記錄刪除的字元的數目*/
int i=0,j=0;
char result[256];
do
{
if(isdigit(a[i])!=0)
{
num++; /*當判斷字元為數字,則num加1 */
}
else
{
result[j]=a[i]; /*當是字元時,則把字元賦值給一個新的字元串result【】 */
j++;
}
i++;
}while(a[i]!='\0');
result[j]='\0'; /*由於字元串的結束標識符為 \0 所以在對字元串處理玩後要對result字元串添加上 \0 以便能正確的輸出結果。 */
printf("處理後的字元串為:%s\n",result);
return num;
}
『玖』 C語言簡單任務
#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define M 10
typedef bool Boolean;
void InsertSort(int R[],int n)
{ //對順序表R中的記錄R[1..n]按遞增序進行插入排序
int i,j;
for(i=2;i<=n;i++)//依次插入R[2],…,R[n]
if(R[i]<R[i-1]){//若R[i].key大於等於有序區中所有的keys,則R[i]
//應在原有位置上
R[0]=R[i];j=i-1; //R[0]是哨兵,且是R[i]的副本
do{ //從右向左在有序區R[1..i-1]中查找R[i]的插入位置
R[j+1]=R[j];//將關鍵字大於R[i].key的記錄後移
j-- ;
}while(R[0]<R[j]); //當R[i].key≥R[j].key時終止
R[j+1]=R[0]; //R[i]插入到正確的位置上
}//endif
}//InsertSort
void BubbleSort(int R[],int n)
{ //R(l..n)是待排序的文件,採用自下向上掃描,對R做冒泡排序
int i,j;
Boolean exchange; //交換標志
for(i=1;i<n;i++){ //最多做n-1趟排序
exchange=FALSE; //本趟排序開始前,交換標志應為假
for(j=n-1;j>=i;j--) //對當前無序區R[i..n]自下向上掃描
if(R[j+1]<R[j]){//交換記錄
R[0]=R[j+1]; //R[0]不是哨兵,僅做暫存單元
R[j+1]=R[j];
R[j]=R[0];
exchange=TRUE; //發生了交換,故將交換標志置為真
}
if(!exchange) //本趟排序未發生交換,提前終止演算法
return;
} //endfor(外循環)
} //BubbleSort
void HeapAdjust(int H[],int s,int m)
{
//已知H.elemword[s..m]中除H.elemword[s]之外均滿足堆的定義,本函數調整H.elemword[s]
//使H.elemword[s..m]成為一個大頂堆
int j,rc;
rc=H[s];
for(j=2*s;j<=m;j*=2) //沿關鍵字叫大的結點向下篩選
{
if(j<m&&H[j]<H[j+1]) ++j; //j為關鍵字較大的記錄的下標
if(rc>=H[j]) break; //rc應插入在位置s上
H[s]=H[j];
s=j;
}
H[s]=rc; //插入
}
void HeapSort(int L[],int n)
{
//對順序表L做堆排序。
int i,temp;
for(i=n/2;i>0;--i) //把L.elemword[1..L.length]建成大頂堆
HeapAdjust(L,i,n);
for(i=n;i>1;--i)
{
//Swap(L[1],L[i]); //將堆頂記錄和當前未經排序子序列L.elemword[1..i] 中的最後一個記錄相互交換
temp=L[1];L[1]=L[i];L[i]=temp;
HeapAdjust(L,1,i-1); //將L.r[1..i-1]重新調整為大頂堆
}
}
void custom_sort(int L[],int n,void (*fun)(int R[],int n)){
fun(L,n);
}
void main(){
int L[M]={0};
int i,n,flag;
printf("請輸入待排序的自然數序列,輸入-1以結束輸入\n");
for(i=1,n=0;i<M;i++){
printf("L[%d]=",i);
scanf("%d",&L[i]);
if(L[i]==-1)break;
n++;
}
printf("請選擇要使用的排序方式:\n使用插入排序請按1;使用冒泡排序請按2;使用選擇排序請按3\n");
scanf("%d",&flag);
switch(flag){
case 1:custom_sort(L,n,InsertSort);break;
case 2:custom_sort(L,n,BubbleSort);break;
case 3:custom_sort(L,n,HeapSort);break;
}
printf("排序後序列為:\n");
for(i=1;i<=n;i++)printf("%d ",L[i]);
printf("\n");
}
『拾』 C語言任務,快速採納……
#include <stdio.h>
void main()
{
float a[5];
int i,flag;
printf( "輸入五個實數---");
for (i=0; i<5; i++)
scanf("%f", &a[i]);
for ( i=0; i<4; i++)
{
if (a[i] > a[i+1])
{
flag = 1;
break;
}
}
(flag == 1 )? printf("NO"): printf("YES");
printf("\n");
return;
}