一、字符串最後一個單詞的長度ios
計算字符串最後一個單詞的長度,單詞以空格隔開。
數組
一行字符串,非空,長度小於5000。
測試
整數N,最後一個單詞的長度。
spa
5
代碼:
#include <iostream> #include <string.h> //#include <strsafe.h> #include <stdio.h> #include <cstdio> #define MAX_BUFF_SIZE 5000 int main() { char InputBuff[MAX_BUFF_SIZE] = {0}; //scanf("%s", InputBuff); gets(InputBuff); if(strlen(InputBuff) > 5000) { return 0; } int nLen = strlen(InputBuff); while(InputBuff[nLen - 1] != ' ' && nLen > 0) { nLen--; } //printf("%s", InputBuff + nLen); printf("%d", strlen(InputBuff) - nLen); return 0; }
二、計算字符個數
寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,而後輸出輸入字符串中含有該字符的個數。不區分大小寫。code
第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。orm
輸出輸入字符串中含有該字符的個數。blog
1
代碼:
#include <iostream> #include <stdio.h> #include <string.h> #define MAX_BUFF 0x500 int main() { char szInput[MAX_BUFF] = {0}; char cInput = 0; int nLen = 0; int nCnt = 0; scanf("%s", szInput); nLen = strlen(szInput) - 1; getchar(); cInput = getchar(); while(nLen >= 0) { if('a' <= szInput[nLen] && szInput[nLen] <= 'z') { if(szInput[nLen] == cInput || szInput[nLen] == cInput - ('A' - 'a')) { nCnt++; } } else if('A' <= szInput[nLen] && szInput[nLen] <= 'Z') { if(szInput[nLen] == cInput || szInput[nLen] == cInput + ('A' - 'a')) { nCnt++; } } else if(szInput[nLen] == cInput) { nCnt++; } nLen--; } printf("%d", nCnt); return 0; }
三、明明的隨機數
明明想在學校中請一些同窗一塊兒作一項問卷調查,爲了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其他相同的數去掉,不一樣的數對應着不一樣的學生的學號。而後再把這些數從小到大排序,按照排好的順序去找同窗作調查。請你協助明明完成「去重」與「排序」的工做(同一個測試用例裏可能會有多組數據,但願你們能正確處理)。排序
Input Param ip
n 輸入隨機數的個數 字符串
inputArray n個隨機整數組成的數組
Return Value
OutputArray 輸出處理後的隨機整數
注:測試用例保證輸入參數的正確性,答題者無需驗證。測試用例不止一組。
輸入多行,先輸入隨機整數的個數,再輸入相應個數的整數
返回多行,處理後的結果
10 15 20 32 40 67 89 300 400
代碼:
#include <iostream> #include <stdio.h> #include <string.h> int main() { int nTotal = 0; int nCnt = 0; int nPos = 0; int nInserted = 0; int *szInput = NULL; scanf("%d", &nCnt); if(nCnt < 1 || nCnt > 1000) { return 0; } nTotal = nCnt; szInput = new int[nCnt]; if(!szInput) { return 0; } while(nCnt-- > 0) { int nTmp = 0; int nInsertPos = 0; int nFlag = 0; scanf("%d\n", &nTmp); for(int i = 0; i < nInserted; i++) { if(szInput[i] == nTmp) { nFlag = 1; break; } if(szInput[i] > nTmp) { nInsertPos = i; break; } nInsertPos++; } if(nFlag) { continue; } if(nInsertPos < nInserted) { for(int i = nInserted - 1; i >= nInsertPos; i--) { szInput[i + 1] = szInput[i]; //nInserted++; } } szInput[nInsertPos] = nTmp; nInserted++; } //printf("----------------result---------------\n"); int j = 0; while(j < nInserted) { printf("%d\n", szInput[j++]); } //system("pause"); return 0; }