C/C++题库整理(二)

来源:互联网 发布:java编程技巧 编辑:程序博客网 时间:2024/06/04 19:44


题目一:

/*写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){char float_num[200];int flag_dian = 0;int flag_jinwei = 0;int ans = 0;while (scanf("%s", &float_num) != EOF){for (int i = 0; i < strlen(float_num); i++){if (float_num[i] == '.') flag_dian = i;}if (float_num[flag_dian + 1] >= ('5')) {flag_jinwei = 1;}else flag_jinwei = 0;float_num[flag_dian] = '\0';ans = atoi(float_num);printf("%d", ans + flag_jinwei);}return 0;}*/



题目二:


/*输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入9876673输出37689#include <stdio.h>int main(void) {int num = 0,i = 0;int flag[10] = {0,0,0,0,0,0,0,0,0,0};//用flag[3]来做3这个字符的flag,妙!while (scanf("%d",&num) != EOF){while(num){int current = num % 10;if (flag[current] != 1){flag[current] = 1;printf("%d", current);}num = num / 10;}}return 0;}*/


题目三:


/*编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。*/#include <stdio.h>#include <string.h>int main(void) {char str[1000];while (scanf("%s",&str) != EOF){int flag[128] = { 0 };int length = strlen(str);int count = 0;int k = 0;int i = 0;while (i<length){k = str[i];if ((flag[k] == 0)&&(k<=127)&&(k>=0)){count++;flag[k] = 1;}i++;}printf("%d\n", count);}return 0;}


原创粉丝点击