Ⅰ c語言中的清屏有什麼作用那
C語言中的清屏的作用為:清除屏幕輸出。
調用清屏時,屏幕上的所有輸出都將被清除,這相當於為軟體重新提供了畫布以自由輸出。
屏幕清除通常用於以下情況:
1、當最後一個功能的執行完成時,輸出不再重要,並且需要顯示新的內容或菜單。
2、對於加密,例如某些記憶游戲,在顯示幾秒鍾後,清除所有輸出。
3、要顯示大部分關鍵數據,為了避免以前的列印許可權信息的影響,請執行屏幕清除操作。
屏幕清除通常使用C語言「system("cls")」來完成。
(1)c語言清包擴展閱讀:
clrscr函數是C語言的清屏功能,用於清除屏幕上的輸出,而clrscr是clear screen的縮寫。 Clrscr不是C語言的標准庫函數,而是TC平台獨有的函數,其他編譯器無法使用。
使用系統(CLS),可以在DOS屏幕中達到清除屏幕的效果。 系統函數已包含在標准C庫中,並且通過命令進行系統調用。 函數原型:int system(char *command); 參數:字元類型命令功能:發出DOS命令。
Ⅱ C語言:背包問題(數據結構)
詳細程序代碼如下:
用VC6.0編譯.保存代碼時,以.C為後綴名
下面是一組測試數據:
請輸入背包能容納的最大重量:20
請輸入物品個數:10
請輸入每一個物品的重量和價值:1,11,2,22, 3,33.....10,100
結果是正確的.
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
#define NUMBER 20/*最大物品數量*/
#define TRUE 1
#define FALSE 0
struct Record/*本結構體用於保存每一次結果*/
{
int totalWeight;/*本次結果的總價值*/
int goods[NUMBER];/*本次結果對應的下標*/
struct Record *next;
};
struct Record *headLink;
struct Record result;
int stack[NUMBER];
int top;
int weight[NUMBER];/*保存物品重量的數組*/
int value[NUMBER];/*保存對應(下標相同)物品的價值*/
int knapproblen(int n,int maxweight,int weight[]);
void CreateHeadLink(void);
struct Record *MallocNode(void);
void InsertOneNode(struct Record *t);
void GetResult(void);
void ShowResult(void);
void main()
{
int n,i;
int maxWeight;/*背包能容納的最大重量*/
printf("請輸入背包能容納的最大重量:\n");
scanf("%d",&maxWeight);
printf("請輸入物品個數:\n");
scanf("%d",&n);
printf("請輸入每一個物品的重量和價值:\n");
for(i=0;i<n;i++)
{
printf("請輸入第%d個物品重量\n",i+1);
scanf("%d",&(weight[i]));
printf("請輸入第%d個物品價值\n",i+1);
scanf("%d",&(value[i]));
}
if(knapproblen(n,maxWeight,weight)==TRUE)/*調用背包處理函數,如果成功就輸出「答案」*/
{
GetResult();/*遍歷鏈表,查找最佳的結果*/
ShowResult();/*顯示結果*/
}
free(headLink);
getch();
}
/*調用背包處理函數*/
int knapproblen(int n,int maxweight,int weight[])
{
struct Record *p;
int i=1,j;
int tempTop=0;
top=0;/*先賦棧指針為0*/
CreateHeadLink();/*先建立鏈頭*/
while((maxweight>0)&&(i<=n))/*當還可以裝下物品,且物品沒有用完時*/
{
if((maxweight-weight[i]==0)||(maxweight-weight[i]>0)&&(i<n))/*正好裝完物品或還能容納物品且物品沒有用完時*/
{
stack[++top]=i;/*把對應物品的處標保存到棧中*/
p=MallocNode();/*每一次得到一個結果後,就將該結果保存到鏈表中*/
for(tempTop=top,j=0;tempTop>0;tempTop--,j++)
{
p->totalWeight+=value[stack[tempTop]];/*得到本次結果的總價值*/
p->goods[j]=stack[tempTop];/*得到本次結果對應的物品下標*/
}
InsertOneNode(p);/*加到鏈表中*/
maxweight=maxweight-weight[i];
}
if(maxweight==0)/*能裝入包中*/
{
return TRUE;
}
else if((i==n)&&(top>0))/*繼續測試*/
{
i=stack[top];
top=top-1;
maxweight=maxweight+weight[i];
}
i++;
}
return FALSE;
}
/************************************
函數功能:建立鏈表表頭
************************************/
void CreateHeadLink(void)
{
struct Record *p;
p=(struct Record*)malloc(sizeof(struct Record));
headLink=p;
p->next=NULL;
}
/************************************
函數功能:申請一個新結點,並將其初始化
************************************/
struct Record *MallocNode(void)
{
struct Record *p;
int i;
p=(struct Record*)malloc(sizeof(struct Record));
if(p==NULL)
return NULL;
p->totalWeight=0;/*初始化總價值為0*/
for(i=0;i<NUMBER;i++)
p->goods[i]=-1;/*初始化下標為-1,即無效*/
p->next=NULL;
return p;
}
/************************************
函數功能:在鏈表的結尾處增加一個結點
************************************/
void InsertOneNode(struct Record *t)
{
struct Record *p;
p=headLink;
while(p->next)
{
p=p->next;
}
p->next=t;
}
/************************************
函數功能:遍歷鏈表,找總價值最大的結點保存到
result中
************************************/
void GetResult(void)
{
struct Record *p;
int i;
result.totalWeight=headLink->next->totalWeight;/*先將第一個結點當作"最佳"結果*/
for(i=0;i<NUMBER;i++)
{
if(headLink->next->goods[i]==-1)
break;
result.goods[i]=headLink->next->goods[i];
}
p=headLink->next->next;
while(p)/*查找最佳結果*/
{
if(p->totalWeight>result.totalWeight)/*如果發現p點價值比當前結果還大,則將p又作為最佳結果*/
{
result.totalWeight=p->totalWeight;
for(i=0;i<NUMBER;i++)
result.goods[i]=-1;
for(i=0;i<NUMBER;i++)
{
if(p->goods[i]==-1)
break;
result.goods[i]=p->goods[i];
}
}
p=p->next;
}
}
/***************************
顯示最佳結果
*******************************/
void ShowResult(void)
{
int i;
printf("最佳裝載如下:\n");
for(i=0;i<NUMBER;i++)
{
if(result.goods[i]==-1)
break;
printf("weight[%d]=%d\tvalue[%d]=%d\t",result.goods[i],weight[result.goods[i]],result.goods[i],value[result.goods[i]]);
if((i+1)%2==0)
printf("\n");
}
printf("\n總價值是:\n%d",result.totalWeight);
}
Ⅲ c語言清屏命令是,要在哪輸入才能清掉運行完的屏幕,截圖詳細
在程序退出前,system("clear");
Ⅳ C語言都包括幾部分
二級所有科目的考試仍包括筆試和上機考試兩部分。二級c筆試時間由120分鍾
三級網路技術優秀證書
改為90分鍾,上機時間由60分鍾改為90分鍾。
Ⅳ c語言字元串清空函數
字元串函數<string.h>
在頭文件<string.h>中定義了兩組字元串函數。第一組函數的名字以str開頭;第二組函數的名字以mem開頭。只有函數memmove對重疊對象間的拷貝進行了定義,而其他函數都未定義。比較類函數將其變數視為unsigned char類型的數組。
1.strcpy
#include <string.h>
char *strcpy(char *str1, const char *str2);
把字元串str2(包括'