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