GHash::iterator GHash::insert_num(GHash * pThis, const void * pKey, void * pValue ) { iterator iter = find_num( pThis, pKey ); if ( iter ) return pThis->end(); return pThis->insert2( pKey, pValue, (hash_key_t)pKey ); }
int main(){ int arr[] = {3,4,5,6,7,8,9,0,1}; int n = sizeof(arr)/sizeof(arr[0]); int num; scanf("%d",&num); int pos = find_num(arr,n,num); printf("%d\n",pos); }
/* * 创建 */ void Creat(AdjMatrix *G) { int i, j; int temp1, temp2; char tmp[2]; printf("请输入有向图中的顶点数:"); scanf("%d", &G->vexnum); printf("请输入有向图中的边数:"); scanf("%d", &G->arcnum); getchar(); for (i = 1; i <= G->vexnum; i++) { for (j = 1; j <= G->vexnum; j++) { G->arcs[i][j] = INFIITY; } } printf("请输入顶点名称:\n"); for (i = 1; i <= G->vexnum; i++) { printf("No.%d:", i); scanf("%c", &G->vex[i]); getchar(); } printf("请输入图中%d个边\n", G->arcnum); for (i = 1; i <= G->arcnum; i++) { printf("No.%d:", i); scanf("%s", tmp); temp1 = find_num(G, tmp[0]); temp2 = find_num(G, tmp[1]); G->arcs[temp1][temp2] = 1; } printf("创建完成\n"); }
GHash::iterator GHash::update_num(GHash * pThis, const void * pKey, void * pValue) { iterator iter = find_num( pThis, pKey ); if ( iter != pThis->end() ) { iter->setData( pValue ); return iter; } return pThis->insert2( pKey, pValue, (hash_key_t)pKey ); }
void del(student s[], int *cur) // 删除 { int flag; int addr; int i; char buf[20]; system("cls"); printf("\n--- 删除学生信息\n"); printf("\n--- 1. 按学号删除\n"); printf("\n--- 2. 按姓名删除\n"); printf("\n--- 3. 回主界面\n"); while (1) { printf("\n--- 请输入要执行的操作: "); fflush(stdin); scanf("%d", &flag); if (flag == 1) { printf("\n请输入学号: "); fflush(stdin); scanf("%s", buf); addr = find_num(s, buf, *cur); if (addr == -1) printf("\n--- 没有找到!\n"); else { for (i=addr; i<*cur; i++) s[i] = s[i+1]; (*cur)--; printf("\n删除成功!\n"); } } else if (flag == 2) { printf("\n请输入姓名: "); fflush(stdin); scanf("%s", buf); addr = find_name(s, buf, *cur); if (addr == -1) printf("\n--- 没有找到!\n"); else { for (i=addr; i<*cur; i++) s[i] = s[i+1]; (*cur)--; printf("\n删除成功!\n"); } } else if (flag == 3) break; else printf("\nXXX 输入错误"); } back(); }
int main() { int Q; scanf("%d", &Q); for (int i = 0; i < Q; i ++) { long long s; scanf("%lld", &s); if (s == 1) printf("0 0\n"); else { long long num = find_num(s-1); printf("%lld\n", num); long long pos = s - 1 - cal(num - 1); solve(num, pos); } } return 0; }
void find(student s[], int cur) // 查找 { int flag; char buf[20]; int addr; system("cls"); printf("\n--- 查找学生信息\n"); printf("\n--- 1. 按学号查找\n"); printf("\n--- 2. 按姓名查找\n"); printf("\n--- 3. 回主界面\n"); while (1) { printf("\n--- 请输入要执行的操作: "); fflush(stdin); scanf("%d", &flag); if (flag == 1) { printf("\n请输入学号: "); fflush(stdin); scanf("%s", buf); addr = find_num(s, buf, cur); if (addr == -1) printf("\n--- 没有找到!\n"); else { printf("\n学号\t姓名\t性别\t语文\t数学\t英语\t体育\t平均分\t总成绩\n"); print_each(s, addr); } } else if (flag == 2) { printf("\n请输入姓名: "); fflush(stdin); scanf("%s", buf); addr = find_name(s, buf, cur); if (addr == -1) printf("\n--- 没有找到!\n"); else { printf("\n学号\t姓名\t性别\t语文\t数学\t英语\t体育\t平均分\t总成绩\n"); print_each(s, addr); } } else if (flag == 3) break; else printf("\nXXX 输入错误"); } back(); }
int main(void) { int m, n, i, j, num, result; int arr[MAX][MAX]; while (scanf("%d %d", &m, &n) != EOF) { scanf("%d", &num); for (i = 0; i < m; i ++) for (j = 0; j < n; j++) scanf("%d", &arr[i][j]); result = find_num(arr, m, n, num); if (result == 1) printf("Yes\n"); else printf("No\n"); } return 0; }
int main(void) { unsigned long long N = 0; unsigned long long num = 0; int k = 0; Nums[1] = 2; Nums[2] = 3; Nums[3] = 5; Nums[4] = 7; Nums[5] = 11; MaxNum = 5; scanf("%llu", &N); for (unsigned long long i = 0; i < N; i++) { scanf("%d", &k); num = find_num(k); printf("%llu\n", num); } }
int check_mask(double starttime, double duration, mask * obsmask, int *maskchans) /* Return value is the number of channels to mask. The */ /* channel numbers are placed in maskchans (which must */ /* have a length of numchan). If -1 is returned, all */ /* channels should be masked. */ { int loint, hiint; double endtime; static int old_loint = -1, old_hiint = -1, old_numchan = 0; /* static int firsttime = 1; if (firsttime){ int ii; printf("\n\n numzapints = %d\n : ", obsmask->num_zap_ints); for (ii=0; ii<obsmask->num_zap_ints; ii++) printf("%d ", obsmask->zap_ints[ii]); printf("\n\n numzapchans = %d\n : ", obsmask->num_zap_chans); for (ii=0; ii<obsmask->num_zap_chans; ii++) printf("%d ", obsmask->zap_chans[ii]); printf("\n\n"); firsttime = 0; } */ endtime = starttime + duration; loint = (int) (starttime / obsmask->dtint); hiint = (int) (endtime / obsmask->dtint); /* Mask the same channels as for the last call */ if (loint == old_loint && hiint == old_hiint) return old_numchan; /* Make sure that we aren't past the last interval */ if (loint >= obsmask->numint) loint = obsmask->numint - 1; if (hiint >= obsmask->numint) hiint = loint; if ((loint >= obsmask->numint + 1) || (hiint >= obsmask->numint + 1)) { printf("Warning!! Trying to use a mask interval well after the mask ends!\n"); } /* Determine new channels to mask */ if (loint == hiint) { old_loint = old_hiint = loint; /* Check to see if this is an interval where we zap all the channels */ if (obsmask->num_zap_ints) { if (find_num(loint, obsmask->zap_ints, obsmask->num_zap_ints)) { old_numchan = -1; return old_numchan; } } /* Merge the overall channels to zap with the local channels to zap */ old_numchan = merge_no_dupes(obsmask->zap_chans, obsmask->num_zap_chans, obsmask->chans[loint], obsmask->num_chans_per_int[loint], maskchans); } else { /* We are straddling a rfifind interval boundary */ int *tmpchans; old_loint = loint; old_hiint = hiint; /* Check to see if this is an interval where we zap all the channels */ if (obsmask->num_zap_ints) { if (find_num(loint, obsmask->zap_ints, obsmask->num_zap_ints)) { old_numchan = -1; return old_numchan; } if (find_num(hiint, obsmask->zap_ints, obsmask->num_zap_ints)) { old_numchan = -1; return old_numchan; } } /* Merge the overall channels to zap with the loint channels to zap */ if (obsmask->num_zap_chans) { tmpchans = gen_ivect(obsmask->numchan); old_numchan = merge_no_dupes(obsmask->zap_chans, obsmask->num_zap_chans, obsmask->chans[loint], obsmask->num_chans_per_int[loint], tmpchans); } else { tmpchans = obsmask->zap_chans; old_numchan = obsmask->num_zap_chans; } /* Merge the loint+overall channels to zap with the hiint channels to zap */ old_numchan = merge_no_dupes(tmpchans, old_numchan, obsmask->chans[hiint], obsmask->num_chans_per_int[hiint], maskchans); if (obsmask->num_zap_chans) vect_free(tmpchans); } return old_numchan; }