網(wǎng)站站點(diǎn)文件夾權(quán)限設(shè)置網(wǎng)絡(luò)軟文營(yíng)銷
1009 說(shuō)反話
給定一句英語(yǔ),要求你編寫(xiě)程序,將句中所有單詞的順序顛倒輸出。
輸入格式:
測(cè)試輸入包含一個(gè)測(cè)試用例,在一行內(nèi)給出總長(zhǎng)度不超過(guò) 80的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫(xiě)有區(qū)分)組成的字符串,單詞之間用 1個(gè)空格分開(kāi),輸入保證句子末尾沒(méi)有多余的空格。
輸出格式:
每個(gè)測(cè)試用例的輸出占一行,輸出倒序后的句子。
輸入樣例:
Hello World Here I Come
輸出樣例:
Come I Here World Hello
代碼長(zhǎng)度限制 16 KB
時(shí)間限制 400 ms
內(nèi)存限制 64 MB
棧限制 8192 KB
解析
這里用到了許多string庫(kù)中的函數(shù)
我寫(xiě)了一篇關(guān)于string的總結(jié)如下
常見(jiàn)string庫(kù)中的函數(shù)(C語(yǔ)言超詳細(xì))
代碼示例
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
int main(){char s[200]; fgets(s,200,stdin);//意思是從鍵盤讀取一行字符,并存儲(chǔ)到s中,200表示最多讀取200個(gè)字符,stdin表示標(biāo)準(zhǔn)輸入流s[strcspn(s,"\n")]='\0'; //為了去掉 fgets 讀取的字符串末尾的換行符,確保字符串在后續(xù)操作中沒(méi)有不必要的換行符干擾//strcspn(s, "\n") 是 C 語(yǔ)言中的一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù)調(diào)用。它的作用是查找字符串 sentence 中第一個(gè)出現(xiàn)換行符 (\n) 的位置,并返回這個(gè)位置的索引char *words[100];//指針數(shù)組,用來(lái)存放 int count = 0;char *word = strtok(s," ");//strtok 是一個(gè)分割字符串的標(biāo)準(zhǔn)庫(kù)函數(shù),它每次返回指向分割后子字符串的指針,而不是創(chuàng)建新的字符串副本while(word!=NULL){words[count++]=word;word = strtok(NULL," ");//是 strtok 函數(shù)在分割字符串時(shí)的一個(gè)重要用法,它的作用是繼續(xù)從上次分割的位置繼續(xù)分割字符串}for(int i = count-1;i>=0;i--){printf("%s",words[i]);//訪問(wèn)指針即可打印內(nèi)容 if(i!=0){printf(" "); }}printf("\n");return 0;
}
1010 一元多項(xiàng)式求導(dǎo)
輸入格式:
以指數(shù)遞降方式輸入多項(xiàng)式非零項(xiàng)系數(shù)和指數(shù)(絕對(duì)值均為不超過(guò) 1000 的整數(shù))。數(shù)字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導(dǎo)數(shù)多項(xiàng)式非零項(xiàng)的系數(shù)
和指數(shù)。數(shù)字間以空格分隔,但結(jié)尾不能有多余空格。注意“零多項(xiàng)式”的指數(shù)和系數(shù)都是 0,但是表示為 0 0。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
代碼長(zhǎng)度限制 16 KB
時(shí)間限制 400 ms
內(nèi)存限制 64 MB
棧限制 8192 KB
代碼示例
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
int main(){int n,x;int flag = 1;// 循環(huán)讀取輸入的多項(xiàng)式項(xiàng)while(scanf("%d %d",&n,&x)!=EOF){if(x>0){n*=x;x--;if(!flag){printf(" ");// 非首項(xiàng)前加空格}printf("%d %d",n,x);flag = 0;// 從第二項(xiàng)開(kāi)始才會(huì)添加空格} // 輸出前處理輸出格式,避免輸出多余的空格}if(flag){printf("0 0");}printf("\n");return 0;
}