第五题其实也写了,但是不对所以不想贴了,矩阵运算实在使人头疼
//计算税收。以前觉得好像只能if实现,原来也可以这样 #include <stdio.h> #include <stdlib.h> float stax( int money); static double income_limits[]={0, 23350, 56550, 117950, 256500}; static float base_tax[]={0, 3502.5, 12798.5, 31832.5, 81710.5 }; static float percent[]={ .15, .28, .31, .36, .396 }; int main() { int money; float tax; printf("输入收入!\n"); scanf("%d",&money); tax = stax( money ); printf("税收是%f", tax); return 0; } float stax( int money) { int category; for(category = 0; (money >=income_limits[category]) && (category < 5);category+=1) ; category-=1; return base_tax[category]+percent[category]*(money-income_limits[category]); } #include <stdio.h> #include <stdlib.h> #include <string.h> //输入的每个单词与列表中的关键字比较,找到一个后返回这个匹配在列表中的偏移量,否则返回-1 int lookup_keyword(char * desired, char *keywordtable[ ], int size); int main() { int i; char a[20]; printf("输入关键字!\n"); gets(a); char *keyword[4] = { "do", "sr", "tt", NULL }; i=lookup_keyword(a, keyword,3); printf("匹配%d\n",i); return 0; } int lookup_keyword(char * desired, char *keywordtable[ ], int size) { char **kwp; //for(kwp = keywordtable; kwp < keywordtable + size; kwp++)//第一种 for(kwp = keywordtable; *kwp != NULL; kwp++) if(strcmp( desired,*kwp ) == 0) return kwp - keywordtable; return -1; }