輸出hellow wangdao
成都創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),成都響應(yīng)式網(wǎng)站建設(shè)公司,網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:18982081108#includeint main()
{
printf("hello wangdao\n");
return 0;
}
課時(shí)2作業(yè)2計(jì)算a+b,輸入包含a和b,空格隔開 輸出a、b和
#includeint main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
課時(shí)2作業(yè)3讀取一個(gè)65-122間的整形數(shù),以字符形式輸出
#includeint main()
{
int a;
scanf("%d",&a);
printf("%c",a);
return 0;
}
課時(shí)3作業(yè)1判斷閏年,是則輸出yes,否則輸出no
#includeint main()
{
int year;
scanf("%d",&year);
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)//關(guān)系運(yùn)算符優(yōu)先級(jí)高于邏輯運(yùn)算符
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}
課時(shí)3作業(yè)2讀取一個(gè)整型數(shù),字符,浮點(diǎn)數(shù),分別到變量i,j,k中,然后將i,j,k直接相加并輸出,小數(shù)點(diǎn)后保留兩位小數(shù),不用考慮輸入的浮點(diǎn)數(shù)的小數(shù)部分超過了兩位
#includeint main()
{
int a;
char j;
float f;
scanf("%d %c%f", &a, &j, &f);
printf("%0.2f",a+j+f); // 字符以對(duì)應(yīng)的編碼值參與計(jì)算
return 0;
}
課時(shí)4作業(yè)1輸入一個(gè)整型數(shù),判斷是否是對(duì)稱數(shù),如果是,輸出yes,否則輸出no,不用考慮這個(gè)整型數(shù)過大,int類型存不下,不用考慮負(fù)值;
例如 12321是對(duì)稱數(shù),輸出yes,124421是對(duì)稱數(shù),輸出yes,1231不是對(duì)稱數(shù),輸出no
#includeint main()
{
int a, ret, c=0;
scanf("%d",&a);
int b = a; // 存儲(chǔ)a原始數(shù)據(jù)
while (a != 0)// a=0時(shí)結(jié)束循環(huán)
{
ret = a % 10;
c = c * 10 + ret;
a = a / 10;
}
if (c==b)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
課時(shí)4作業(yè)2利用while或者for循環(huán)計(jì)算n!的值。輸入值為正整數(shù),在1-10之間。
#include//while循環(huán)
int main()
{
int n,result=1;
scanf("%d",&n);
while (n != 1)
{
result = result * n;
n--;
}
printf("%d",result);
return 0;
}
//for循環(huán)
int main()
{
int n,result=1;
scanf("%d",&n);
for(;n>=1;n--) // for的初始化可以不寫,;不能少,必須是2個(gè)
{
result = result * n;
}
printf("%d",result);
return 0;
}
課時(shí)4作業(yè)3某人想將手中的一張面值100元的人民幣換成10元、5元、2元和1元面值的票子。要求換正好40張,且每種票子至少一張。問:有幾種換法?
#includeint main()
{
int ret = 0;
int i, j, k, l;// ret記錄換法,i記錄10元,j記錄5元,k記錄2元,1記錄1元
// 十元最多10張,5元20張
for (i = 1; i<= 10; i++)
{
for (j = 1; j<= 20; j++)
{
for (k = 1; k<= 40; k++)
{
if (i + j + k >40)
{
break;
}
for (l = 1; l<= 40; l++)
{
if (i + j + k + 1 >40)
{
break;
}
if (i + j + k + l == 40 && 10 * i + 5 * j + 2 * k + l == 100)
{
ret++;//使用多重for循環(huán)嵌套遍歷出所有可能,再進(jìn)行條件判斷
}
}
}
}
}
printf("%d", ret);
return 0;
}
課時(shí)5作業(yè)1輸入N個(gè)數(shù)(N小于等于100),輸出數(shù)字2的出現(xiàn)次數(shù)
#includeint main()
int main()
{
int a[100];
int i;
int k = 0;
scanf("%d", &i);
for (int j = 0; j< i; j++)
{
scanf("%d",&a[j]);
if (a[j] == 2)
{
k++;
}
}
printf("%d\n",k);
return 0;
}
這題只需判斷2,不需判斷包含的2
判斷包含的2的個(gè)數(shù)加個(gè)循環(huán)即可,如下
#includeint main()
{
int a[100];
int i;
int k = 0;
scanf("%d", &i);
for (int j = 0; j< i; j++)
{
scanf("%d",&a[j]);
int m = a[j];
while (m != 0)
{
int ret = m % 10;
if (ret == 2)
{
k++;
}
m /= 10;
}
}
printf("%d\n",k);
return 0;
}
課時(shí)5作業(yè)2讀取一個(gè)字符串,字符串可能含有空格,將字符串逆轉(zhuǎn),原來的字符串與逆轉(zhuǎn)后字符串相同,輸出0,原字符串小于逆轉(zhuǎn)后字符串輸出-1,大于逆轉(zhuǎn)后字符串輸出1。例如輸入 hello,逆轉(zhuǎn)后的字符串為 olleh,因?yàn)閔ello 小于 olleh,所以輸出-1
#include#includeint main()
{
char c[20];
char d[20];
gets_s(c);
int len = strlen(c);
for (int i = 0; i0)
{
printf("1");
}
else if (strcmp(c, d) == 0)
{
printf("0");
}
else
{
printf("-1");
}
return 0;
}
課時(shí)6作業(yè)1輸入一個(gè)整型數(shù),存入變量i,通過子函數(shù)change把主函數(shù)的變量i除2,然后打印i,例如如果輸入的為10,打印出5,如果輸入的為7,打印出3
不改變?cè)瓟?shù)據(jù)
#define _CRT_SECURE_NO_WARNINGS
#includevoid change(int i)
{
int j = 0;
j = i / 2;
printf("%d\n",j);
}
int main()
{
int i = 0;
scanf("%d",&i);
change(i);
return 0;
}
改變?cè)瓟?shù)據(jù)?
#define _CRT_SECURE_NO_WARNINGS
#includevoid change(int* i)
{
*p = *p/2
}
int main()
{
int i = 0;
scanf("%d",&i);
change(&i).
printf("%d\n",i);
return 0;
}
課時(shí)6作業(yè)2#define _CRT_SECURE_NO_WARNINGS
#include#includeint main()
{
int i;//申請(qǐng)多大的空間
scanf("%d", &i);
char* p = (char*)malloc(i);
char c;
scanf("%c", &c);//為了去除緩沖區(qū)里邊的\n
fgets(p,i,stdin);//如果不通過上面的scanf去消除\n,gets不會(huì)卡住
puts(p);
free(p);
p = NULL;
return 0;
}
課時(shí)7假如有n個(gè)臺(tái)階,一次只能上1個(gè)臺(tái)階或2個(gè)臺(tái)階,請(qǐng)問走到第n個(gè)臺(tái)階有幾種走法?為便于讀者理解題意,這里舉例說明如下:假如有3個(gè)臺(tái)階,那么總計(jì)就有3種走法:第一種為每次上1個(gè)臺(tái)階,上3次;第二種為先上2個(gè)臺(tái)階,再上1個(gè)臺(tái)階;第三種為先上1個(gè)臺(tái)階,再上2個(gè)臺(tái)階。輸入為n,輸出為走到第n個(gè)臺(tái)階有幾種走法
#define _CRT_SECURE_NO_WARNINGS
#includeint stairway(int n)
{
int a = 1;
int b = 2;
int c = 0;
if (n< 1)
{
return 0;
}
if (n == 1)
{
return 1;
}
if (n == 2)
{
return 2;
}
while (n >2)
{
c = a + b;
a = b;
b = c; // 這樣可以不必重復(fù)計(jì)算
n--;
}
return c;
}
int main()
{
int n,ret;
scanf("%d",&n);
ret = stairway(n);
printf("%d\n", ret);
return 0;
}
遞歸寫法#define _CRT_SECURE_NO_WARNINGS
#includeint stairway(int n)
{
if (1 == n)
{
return 1;
}
if (2 == n)
{
return 2;
}
return stairway(n - 1) + stairway(n - 2);
}
int main()
{
int n, ret;
scanf("%d", &n);
ret = stairway(n);
printf("%d\n", ret);
return 0;
}
但這樣寫會(huì)進(jìn)行大量重復(fù)計(jì)算
課時(shí)8作業(yè)1輸入一個(gè)學(xué)生的學(xué)號(hào),姓名,性別,用結(jié)構(gòu)體存儲(chǔ),通過scanf讀取后,然后再通過printf打印輸出
#define _CRT_SECURE_NO_WARNINGS
#includestruct student
{
int num;
char name[20];
char sex;
};
int main()
{
struct student s;
scanf("%d%s %c",&s.num, &s.name, &s.sex);// %c會(huì)讀取\n,前面加空格消掉
printf("%d %s %c\n", s.num, s.name, s.sex);
return 0;
}
課時(shí)8作業(yè)2使用C++的引用,注意提交時(shí)把代碼選為C++;在主函數(shù)定義字符指針 char *p,然后在子函數(shù)內(nèi)malloc申請(qǐng)空間(大小為100個(gè)字節(jié)),通過fgets讀取字符串,然后在主函數(shù)中進(jìn)行輸出;要求子函數(shù)使用C++的引用,注意在C++中從標(biāo)準(zhǔn)輸入讀取字符串,需要使用fgets(p,100,stdin)
#define _CRT_SECURE_NO_WARNINGS
#includevoid modify_pointer(char*&p)
{
p = (char*)malloc(100);
fgets(p,100,stdin);
}
int main()
{
char* p = NULL;
modify_pointer(p);
puts(p);
free(p); //申請(qǐng)的空間不使用后一定要free
p = NULL;
return 0;
}
課時(shí)10初始化順序表(順序表中元素為整型),里邊的元素是1,2,3,然后通過scanf讀取一個(gè)元素(假如插入的是6),插入到第2個(gè)位置,打印輸出順序表,每個(gè)元素占3個(gè)空格,格式為1? 6? 2? 3,然后scanf讀取一個(gè)整型數(shù),是刪除的位置(假如輸入為1),然后輸出順序表? 6? 2? 3,假如輸入的位置不合法,輸出false字符串。提醒,Language一定要選為C++。
#define _CRT_SECURE_NO_WARNINGS
#include#includetypedef struct
{
int data[50];
int len;
}SeqList;
bool ListInsert(SeqList &L,int pos,int i)//函數(shù)會(huì)對(duì)表進(jìn)行更改需要引用,pos為插入位置,i為插入元素
{
if (pos<1 || pos>L.len+1)
{
return false;
}
for (int j = L.len; j >= pos; j--)
{
L.data[j] = L.data[j - 1];
}
L.data[pos - 1] = i;
L.len++;
return true;
}
bool ListDelet(SeqList &L, int pos,int &del)//del為刪除元素值
{
if (pos<1 || pos>L.len)
{
return false;
}
del = L.data[pos - 1];
for (int j = pos - 1; j< L.len; j++)
{
L.data[j] = L.data[j + 1];
}
L.len--;
return true;
}// 主要起練習(xí)作用,因此沒有因題目減少功能
void print(SeqList L)
{
for (int i = 0; i< L.len; i++)
{
printf("%-3d",L.data[i]);
}
printf("\n");
}
int main()
{
SeqList L;
int i,del;// i用于存儲(chǔ)鍵盤輸入,del用于讀取刪除值
bool ret1, ret2;//用于接收函數(shù)返回值
L.data[0] = 1;
L.data[1] = 2;
L.data[2] = 3;
L.len = 3;
scanf("%d",&i);
ret1=ListInsert(L,2,i);
if (ret1)
{
print(L);
}
else
{
printf("false");// 插入失敗
}
scanf("%d",&i);
ret2=ListDelet(L,i,del);
if (ret2)
{
print(L);
}
else
{
printf("false");//刪除失敗
}
return 0;
}
課時(shí)11輸入3 4 5 6 7 9999一串整數(shù),9999代表結(jié)束,通過頭插法新建鏈表,并輸出,通過尾插法新建鏈表并輸出。
Input
3 4 5 6 7 9999,第二行也是3 4 5 6 7 9999,數(shù)據(jù)需要輸入兩次
Output
如果輸入是3 4 5 6 7 9999,那么輸出是7 6 5 4 3,數(shù)之間空格隔開,尾插法的輸出是3 4 5 6 7
#define _CRT_SECURE_NO_WARNINGS
#include#includetypedef int ElemType;// 方便修改數(shù)據(jù)類型
typedef struct LNode
{
ElemType data;
struct LNode* next;
}LNode,*LinkList;
void List_head_insert(LinkList &L)//頭插法
{
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;//建立頭結(jié)點(diǎn)
LinkList s = NULL;// 存放新結(jié)點(diǎn) 指針一定要初始化
ElemType x;//存放輸入數(shù)據(jù)
scanf("%d", &x);
while (x != 9999)// 輸入9999時(shí)結(jié)束
{
s = (LinkList)malloc(sizeof(LNode));// 為新結(jié)點(diǎn)申請(qǐng)空間
s->data = x;
s->next = L->next;
L->next = s;
scanf("%d", &x);
}
}
void List_tail_insert(LinkList& L)// 尾插法
{
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;//建立頭結(jié)點(diǎn)
LinkList r = L;//r用于指向最后一個(gè)結(jié)點(diǎn),初始指向頭結(jié)點(diǎn)
LinkList s = NULL;// s用于存放新結(jié)點(diǎn) 指針一定要初始化
ElemType x;// 存放輸入數(shù)據(jù)
scanf("%d", &x);
while (x != 9999)
{
s = (LinkList)malloc(sizeof(LNode));
s->data = x;
r->next=s;//新結(jié)點(diǎn)鏈接在原尾結(jié)點(diǎn)
r = s;//s為新的尾結(jié)點(diǎn)
scanf("%d", &x);
}
r->next = NULL;// 建立完畢后,尾結(jié)點(diǎn)next置空
}
void Print_list(LinkList L)
{
L = L->next;// 頭結(jié)點(diǎn)不用于存放數(shù)據(jù)
while (L != NULL)//L為空時(shí)打印完畢
{
printf("%d", L->data);
L = L->next;//指向下一個(gè)結(jié)點(diǎn)
if (L != NULL)
{
printf(" ");// 為滿足oj格式 打一個(gè)空格
}
}
printf("\n");
}
int main()
{
LinkList L;
List_head_insert(L);
Print_list(L);
List_tail_insert(L);
Print_list(L);
return 0;
}
MID
課時(shí)12入3 4 5 6 7 9999一串整數(shù),9999代表結(jié)束,通過尾插法新建鏈表,查找第二個(gè)位置的值并輸出,在2個(gè)位置插入99,輸出為? 3 99? 4? 5? 6? 7,刪除第4個(gè)位置的值,打印輸出為? 3 99? 4? 6? 7。
輸出函數(shù)如下:
void PrintList(LinkList L)
{
L = L->next;
while (L != NULL)
{
printf("%3d", L->data);//打印當(dāng)前結(jié)點(diǎn)數(shù)據(jù)
L = L->next;//指向下一個(gè)結(jié)點(diǎn)
}
printf("\n");
}
針對(duì)雙向鏈表,有時(shí)間的同學(xué)自己練習(xí)即可,這道題同樣也可以用雙向鏈表來實(shí)現(xiàn)一遍
#define _CRT_SECURE_NO_WARNINGS
#include#includetypedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode* next;
}LNode,*LinkList;
void List_tail_insert(LinkList& L)
{
ElemType x;// 存放輸入數(shù)據(jù)
L = (LinkList)malloc(sizeof(LNode));// 為頭結(jié)點(diǎn)申請(qǐng)空間
L->next = NULL;
LinkList p=NULL;// 用于存放新結(jié)點(diǎn) 一定記得初始化
LinkList r = L;// 用于指向最后一個(gè)結(jié)點(diǎn),初始指向頭結(jié)點(diǎn)
scanf("%d", &x);
while (x != 9999)// 輸入9999時(shí)代表結(jié)束
{
p = (LinkList)malloc(sizeof(LNode));// 為新結(jié)點(diǎn)申請(qǐng)空間
p->data = x;
r->next = p;// 與前一個(gè)結(jié)點(diǎn)建立鏈接
r = p;// p為新的尾結(jié)點(diǎn)
scanf("%d", &x);
}
p->next = NULL;// 結(jié)束輸入后,p為尾結(jié)點(diǎn),next置NULL
}
LinkList Get_elem(LinkList L, int pos)// 按址查找,返回對(duì)應(yīng)結(jié)點(diǎn)指針
{
int i = 0;// 從頭結(jié)點(diǎn)開始遍歷
if (pos< 0)
{
return NULL; // 輸入不合法
}
while (i< pos && L)// 當(dāng)L為空或者找到對(duì)應(yīng)結(jié)點(diǎn)時(shí)結(jié)束遍歷
{
L = L->next;
i++;
}
return L;
}
bool List_insert(LinkList L, int pos, ElemType value)
{
LinkList p = Get_elem(L, pos - 1);// 找到要插入位置的前一個(gè)結(jié)點(diǎn)
// Get_elem已判斷輸入位置的合法性,不需要再判斷 pos為0時(shí)返回為NULL
// 避免頭結(jié)點(diǎn)被更改 List_delete同理
if (NULL == p)
{
return false;// 要插入的位置沒有前一個(gè)結(jié)點(diǎn),插入失敗
}
LinkList q = (LinkList)malloc(sizeof(LNode));// 為新結(jié)點(diǎn)開辟空間
q->data = value;
q->next = p->next;
p->next = q;
return true;
}
bool List_delete(LinkList L, int pos)// 沒有要求獲取刪除結(jié)點(diǎn)的值
{
LinkList p = Get_elem(L, pos-1);// 獲取要?jiǎng)h除結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)
if (NULL == p || NULL == p->next)
{
return false;// 前一個(gè)結(jié)點(diǎn)或者要?jiǎng)h除結(jié)點(diǎn)為空時(shí)無法操作
}
LinkList q = Get_elem(L, pos);// 獲取要?jiǎng)h除結(jié)點(diǎn)的位置
p->next = q->next;
free(q);
return true;
}
void PrintList(LinkList L)
{
L = L->next;//頭結(jié)點(diǎn)不存放數(shù)據(jù)
while (L != NULL)
{
printf("%3d", L->data);//打印當(dāng)前結(jié)點(diǎn)數(shù)據(jù)
L = L->next;
}
printf("\n");
}
int main()
{
LinkList L;
List_tail_insert(L);
List_insert(L, 2, 99);
PrintList(L);
List_delete(L, 4);
PrintList(L);
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧